基于UDP协议的网络通信主要用于消息的收发,因为它为不可靠的协议; 服务器程序: Int main() { Int servfd; Struct Sockaddr_in server_addr,client_addr; Char buf[] = " "; Int len = sizeof(server_addr) Bzero(&server_addr,sizeof(server_addr)); Bzero(&client_addr, sizeof(client_addr)); Servfd = socket(AF_INET, SOCK_DGRAM, 0 ); Server_addr.sin_famliy = AF_INET; Server_addr.sin_port = htons(2222); Server_addr.sin_addr.s_addr = htonl(INADDR_ANY); Blind(server_addr, (struct sockaddr *)&server_addr, len); While(1) { Recvfrom(servfd, buf, 100, 0, (struct sockaddr *)&client_addr, sizeof(client_addr)); Printf("recv %s\n",buf); Sleep(1); Sendto(servfd, "OK", 3, 0, (strucsockadd*)&client_addr,sizeof(client_addr)); } Return 1; } 客户端程序: Int main() { Int clientfd; Char buf[] = " "; Struct sockaddr_in sockaddr;clientaddr; Bzero(&sockaddr, sizeof(sockaddr)); Bzero(&clientaddr, sizeof(clientaddr)); Sockaddr.sin_family = AF_INET; Sockaddr,sin_port = htons(2222); Sockaddr.sin_addr.s_addr = inet_addr("192.168.220.155"); Clientfd = socket(AF_INET, SOCK_DGRAM, 0 ); While(1) { Sendto(clientfd, "hello", 6, 0, (struct sockaddr *)&clientaddr, sizeof(clientaddr)); Recvfrom(clientfd, buf, 100, 0, (struct sockaddr *)&clientaddr, sizeof(clientaddr)); Printf("recv from server is %s\n", buf); } Return 1; } 运行后:实现每一秒收到来自客户端的消息:hello,而后收到服务器发来的消息:ok; <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script> 阅读(341) | 评论(0) | 转发(0) | 0 上一篇:简单的广播收发 下一篇:TFTP协议实现 相关热门文章 Linux虚拟化和云计算记录一下ETIM_CLientUI程序在...makefile 中 $@ $^ %< 使用 ...vcenter web client的一些问题...跨越终端中多个vim实例访问剪... linux 常见服务端口【ROOTFS搭建】busybox的httpd...什么是shelllinux socket的bug??linux的线程是否受到了保护?... 我的ChinaUnix博客被锁定了,...虚拟机中ubuntu无线连接问题...IBM DS3400 盘阵怎么查看是单...启动auditd时,报错如下,怎么...CGSL系统中root密码正确,但无... 给主人留下些什么吧!~~ 评论热议