[国嵌攻略][092][UDP网络程序设计]
2016-03-02 09:13
393 查看
server.c
client.c
#include <sys/socket.h> #include <netinet/in.h> #include <strings.h> #include <stdio.h> #define SERVER_PORT 3333 void main(){ //创建标识 int serverfd; serverfd = socket(AF_INET, SOCK_DGRAM, 0); //建立UDP连接 //绑定地址 struct sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; //设置协议 serverAddr.sin_port = htons(SERVER_PORT); //设置端口 serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); //设置地址 bzero(serverAddr.sin_zero, 8); //设置为零 bind(serverfd, (struct sockaddr *)&serverAddr, sizeof(struct sockaddr)); //接收数据 char buffer[2048]; struct sockaddr_in clientAddr; socklen_t clientAddrLen; clientAddrLen = sizeof(struct sockaddr); recvfrom(serverfd, buffer, sizeof(buffer), 0, (struct sockaddr *)&clientAddr, &clientAddrLen); //显示数据 char *clientIPAddr; clientIPAddr = (char *)inet_ntoa(clientAddr.sin_addr.s_addr); printf("server recvice from %s:\n%s", clientIPAddr, buffer); //关闭连接 close(serverfd); }
client.c
#include <sys/socket.h> #include <netinet/in.h> #include <strings.h> #include <stdio.h> #define SERVER_PORT 3333 int main(int argc, char **argv){ //参数检查 if(argc != 2){ printf("Usage:\n\t%s <ip address>\n", argv[0]); return -1; } //创建标识 int clientfd; clientfd = socket(AF_INET, SOCK_DGRAM, 0); //建立UDP连接 //输入数据 char buffer[2048]; printf("client send to %s:\n", argv[1]); fgets(buffer, sizeof(buffer), stdin); //发送数据 struct sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; //设置协议 serverAddr.sin_port = htons(SERVER_PORT); //设置端口 serverAddr.sin_addr.s_addr = inet_addr(argv[1]); //设置地址 bzero(serverAddr.sin_zero, 8); //设置为零 sendto(clientfd, buffer, sizeof(buffer), 0, (struct sockaddr *)&serverAddr, sizeof(struct sockaddr)); //关闭连接 close(clientfd); return 0; }
相关文章推荐
- 使用Velloy执行网络数据传输
- 一文读懂卷积神经网络
- 出现HTTP: 401 的时候的解析思路
- 重画了一下网络设备接口图
- 获取网络图片的工具类
- STDIN_FILENO的作用与stdin的区别!!!
- 深入理解Hadoop集群和网络
- 学习心得之通信篇(TCP/IP协议栈)
- ThingWorx : 2、使用Java Tcp Client向服务器发送数据
- XmlHttpRequest
- Android OkHttp完全解析 是时候来了解OkHttp了
- HTTPS科普扫盲帖
- TCP协议粘包和拆包解析
- Http Status 404 解决办法
- 出现HTTP: 401 的时候的解析思路
- 《全国人民代表大会常务委员会关于加强网络信息保护的决定》
- 厦门巨游网络科技有限公司(HOTPOWER)承接游戏UI外包
- CentOS安装iftop查看网络带宽使用情况
- 设置Vmware虚拟机NAT网络连接方式
- Android学习-Http请求