unix 网络编程udp简单例程
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,server.c#include /* See NOTES */#include #include #include #include #include #include #includ
千家信息网最后更新 2026年11月02日unix 网络编程udp简单例程
- server.c
- #include <sys/types.h> /* See NOTES */
- #include <sys/socket.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- #include <arpa/inet.h>
- #include <unistd.h>
- int main(int argc, char** argv)
- {
- int ret;
- int len = sizeof(struct sockaddr);
- //创建socket
- int sockfd = socket(AF_INET, SOCK_DGRAM,0);
- if(sockfd == -1)
- {
- perror("socket\n");
- exit(1);
- }
- //将addr地址与socket绑定在一起
- //初始化地址
- struct sockaddr_in addr;
- addr.sin_family = AF_INET;
- addr.sin_port = htons(4444);
- addr.sin_addr.s_addr = INADDR_ANY;
- memset(addr.sin_zero,8,0);
- //进行绑定
- ret = bind(sockfd, (struct sockaddr*)&addr, len);
- if(ret == -1)
- {
- perror("bind\n");
- exit(1);
- }
- //接收数据
- struct sockaddr_in addr_client;
- while(1)
- {
- char buf[100];
- memset(buf,100,0);
- socklen_t length = sizeof(struct sockaddr);
- fputs("等待数据。。。。\n",stdout);
- ssize_t recnum = recvfrom(sockfd, buf, 100,MSG_WAITALL, (struct sockaddr*)&addr_client,&length);
- if(recnum<0)
- {
- perror("recvfrom\n");
- exit(1);
- }
- printf("received(%d): %s\n",recnum,buf);
- if(strcmp(buf,"stop") == 0)
- {
- break;
- }
- }
- close(sockfd);
- fputs("退出成功!!\n",stdout);
- return 0;
- }
- ----------------------------
- client.c
- #include <sys/types.h> /* See NOTES */
- #include <sys/socket.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- #include <arpa/inet.h>
- #include <unistd.h>
- int main(int argc, char** argv)
- {
- int len = sizeof(struct sockaddr);
- //创建socket
- int sockfd = socket(AF_INET, SOCK_DGRAM,0);
- if(sockfd == -1)
- {
- perror("socket\n");
- exit(1);
- }
- //将addr地址与socket绑定在一起
- //初始化地址
- struct sockaddr_in addr;
- addr.sin_family = AF_INET;
- addr.sin_port = htons(4444);
- addr.sin_addr.s_addr = inet_addr("127.0.0.1");
- memset(addr.sin_zero,8,0);
- while(1)
- {
- char buf[100];
- memset(buf,100,0);
- fputs("请输入内容:\n",stdout);
- //存在scanf字符串空格问题
- scanf("%s",buf);
- fputs("确认发送内容为:\n",stdout);
- fputs(buf,stdout);
- printf("\n");
- sendto(sockfd, buf, 100, 0, (struct sockaddr*)&addr, len);
- fputs("确认发送完成\n",stdout);
- }
- return 0;
- }
- ----------------------------
- makefile
- .PHONY: all clean
- all:server client
- server:server.c
- gcc -o server server.c -Wall
- client:client.c
- gcc -o client client.c -Wall
- clean:
- rm -f *.o client server *~
地址
内容
数据
成功
字符
字符串
空格
问题
输入
网络
网络编程
编程
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳九邦互联网科技有限公司
山东特亿宝互联网科技有限公司
科技创新与互联网经济
互联网最新的科技
互联网科技卖菜
金融科技创新监管互联网金融
互联网 科技公司
互联网金融 金融科技
互联网 科技创业
深圳齐家互联网科技
长亮科技 互联网金融
华中科技有哪些互联网大佬
湖南洣水互联网科技有限公司扣款
华服互联网科技官网
知域互联网科技有限公司大骗子
米聚互联网科技南京有限公司排面
企晟互联网信息科技有限公司
信承诺互联网科技有限公司
互联网科技对化妆品行业
青岛互联网科技园
百单网互联网科技有限公司怎么样
中国互联网科技发展
互联网科技公司有哪些
亿人帮互联网科技
滨湖区互联网智能科技产品供应
承德科技产业互联网发展
赶超互联网科技 微信多开
易企秀互联网科技是做什么的
互联网科技接地气
第三届互联网大会安防黑科技