基于UDP协议的网络程序
来源:互联网 发布:高级linux书籍 编辑:程序博客网 时间:2024/05/29 14:17
服务器
#include <stdio.h> #include <string.h> #include <netinet/in.h> #define MAXLINE 80 #define SERV_PORT 4101 int main(void) {struct sockaddr_in servaddr, cliaddr;socklen_t cliaddr_len;int sockfd;char buf[MAXLINE];char str[INET_ADDRSTRLEN];int i, n;sockfd = socket(AF_INET, SOCK_DGRAM, 0);bzero(&servaddr, sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_addr.s_addr = htonl(INADDR_ANY);/* INADDR_ANY就是指定地址为0.0.0.0的地址,表示不确定地址,或“所有地址”、“任意地址”。*/servaddr.sin_port = htons(SERV_PORT);bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));printf("Accepting connections ...\n");while (1) {cliaddr_len = sizeof(cliaddr);n = recvfrom(sockfd, buf, MAXLINE, 0, (struct scockaddr *)&cliaddr, &cliaddr_len);if (n == -1)perror("recvfrom error");printf("received from %s at PORT %d\n", inet_ntop(AF_INET, &cliaddr.sin_addr, str, sizeof(str)), ntohs(cliaddr.sin_port));for (i = 0; i < n; i++)buf[i] = toupper(buf[i]);n = sendto(sockfd, buf, n, 0, (struct sockaddr *)&cliaddr, sizeof(cliaddr));if (n == -1)perror("sendto error");} return 0;}
客户端
#include <stdio.h> #include <string.h> #include <unistd.h> #include <netinet/in.h> #define MAXLINE 80 #define SERV_PORT 4101 int main(int argc, char *argv[]) {struct sockaddr_in servaddr;int sockfd, n;char buf[MAXLINE];socklen_t servaddr_len;sockfd = socket(AF_INET, SOCK_DGRAM, 0); bzero(&servaddr, sizeof(servaddr));servaddr.sin_family = AF_INET;inet_pton(AF_INET, "192.168.3.36", &servaddr.sin_addr);servaddr.sin_port = htons(SERV_PORT);while (fgets(buf, MAXLINE, stdin) != NULL) {servaddr_len = sizeof(servaddr);n = sendto(sockfd, buf, strlen(buf), 0, (struct sockaddr *)&servaddr, sizeof(servaddr));if (n == -1)perror("sendto error"); n = recvfrom(sockfd, buf, MAXLINE, 0, (struct sockaddr *)&servaddr, &servaddr_len);if (n == -1)perror("recvfrom error");write(STDOUT_FILENO, buf, n);} close(sockfd);return 0;}
- 基于UDP协议的网络程序
- 基于UDP协议的网络程序
- 基于UDP协议的网络程序 (学习)
- 基于UDP协议的网络程序
- 基于UDP协议的网络程序
- 基于UDP协议的网络编程
- 基于UDP协议的C#网络编程
- 基于UDP协议的局域网网络聊天工具
- 基于UDP协议的网络编程
- java基于UDP协议的网络编程
- 基于UDP协议的网络编程:
- 基于UDP协议的Socket网络编程
- linux网络编程之socket(十四):基于UDP协议的网络程序
- linux网络编程之socket(十四):基于UDP协议的网络程序
- linux网络编程之socket(十四):基于UDP协议的网络程序
- UNIX网络编程——基于UDP协议的网络程序
- linux网络编程之socket(十四):基于UDP协议的网络程序
- linux网络编程之socket(十四):基于UDP协议的网络程序
- 集群技术
- 加入jquery.validate.min.js,getJson 回调函数无法正常执行
- android的color值
- Java的一些常识
- C#预处理器指令
- 基于UDP协议的网络程序
- 16.策略模式--Strategy
- Silverlight实例教程 - Navigation导航框架传递参数
- 沉稳:天塌地陷,岿然不动;日月星辰,唯吾独尊
- 常见服务器集群技术
- 一次改动的东西不要太多
- 转发别人的 如何写好代码
- 编程五年心得体会
- 缓存心得