UDP_server
来源:互联网 发布:java 解压缩tar文件 编辑:程序博客网 时间:2024/06/07 20:42
udp_client.c
#include<stdio.h>#include<string.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<netinet/in.h>static void Usage(const char* proc){ printf("Usage:%s[local_ip][local_port]\n",proc);}int main(int argc, char* argv[]){ if(argc != 3) { Usage(argv[0]); return 1; } int sock = socket(AF_INET,SOCK_DGRAM,0); if(sock < 0) { perror("sock"); return(2); } struct sockaddr_in server; server.sin_family = AF_INET; server.sin_port = htons(atoi(argv[2])); server.sin_addr.s_addr = inet_addr(argv[1]); socklen_t len = sizeof(server); char buf[1024]; while(1) { printf("server to ##"); fflush(stdout); ssize_t s = read(0, buf, sizeof(buf)-1); if(s > 0) { buf[s] = '\0'; sendto(sock,buf,sizeof(buf)-1,0,(struct sockaddr*)&server,len); } s = recvfrom(sock, buf, sizeof(buf)-1,0,(struct sockaddr *)&server,&len); if(s > 0) { printf("client echo$:%s",buf); } } close(sock); return 0;}
udp_server.c
#include<stdio.h>#include<string.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<netinet/in.h>static void Usage(const char* proc){ printf("Usage:%s[local_ip][local_port]\n",proc);}int main(int argc, char* argv[]){ if(argc != 3) { Usage(argv[0]); return 1; } int sock = socket(AF_INET,SOCK_DGRAM,0); if(sock < 0) { perror("sock"); return(2); } struct sockaddr_in local; local.sin_family = AF_INET; local.sin_port = htons(atoi(argv[2])); local.sin_addr.s_addr = inet_addr(argv[1]); if(bind(sock,(struct sockaddr*)&local,sizeof(local))<0) { perror("bind"); return(3); } printf("bind success...\n"); char buf[1024]; while(1) { struct sockaddr_in client; socklen_t len = sizeof(client); ssize_t s = recvfrom(sock,buf,sizeof(buf)-1,0,(struct sockaddr*)&client, &len); if(s > 0) { buf[s] = '\0'; printf("client#:%s",buf); sendto(sock,buf,sizeof(buf)-1,0,(struct sockaddr*)&client,len); } else { close(sock); printf("client quit...\n"); break; } } close(sock); return 0;}
运行结果如图:
阅读全文
1 0
- udp_server
- udp_server
- udp_server
- udp_server
- UDP_server
- udp_server
- udp_server
- udp_server
- 【网络】udp_server
- linux之UDP_server
- 【Linux】中UDP_server的实现
- 网络编程学习笔记(udp_server函数)
- 使用udp_client或者udp_connect和udp_server 的时间获取函数
- UDP_server服务器和用户空间下如何实现可靠性
- 关联容器map用法实例
- Android shape
- Python空间数据处理2: GDAL栅格图像格式转换
- 《剑指offer》合并两个排序的链表
- sharesdk分享到指定平台
- UDP_server
- JAVA 串口编程 (一)
- 一个简单首页的布局
- 查找XXXX.class的真实使用路径 (应对那种找不到正确依赖class的问题)
- 鼠标滚轮缩放图纸小工具ZoomIO--通杀Orcad Capture , LayoutPlus , CAM350 , AD , ADPCB , PADS, Foxit Reader
- 【javascript】jQuery中.each循环,如何跳出循环,以及循环数组时对于数组操作时的坑
- Android set
- json
- 玲珑oj 1125 咸鱼商店