UDP传输数据
来源:互联网 发布:手机查看移动网络信号 编辑:程序博客网 时间:2024/05/22 04:54
void client(int sock){
//2、设置客户端socket参数
struct sockaddr_in servaddr; // 声明一个sockaddr_in 类型的变量servaddr
memset(&servaddr, 0, sizeof(servaddr)); //初始化数组,释放变量使用控件
//3、设置传输协议、端口以及目的地址
servaddr.sin_family = AF_INET; //传输协议
servaddr.sin_port = htons(5188); // 端口
servaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); //目的地址
//4、创建发送与接收缓存字节数组
int ret;
char sendbuf[1024] = {0}; //发送
char recvbuf[1024] = {0}; //接收缓存
//5、开始发送数据(此处是发送来自标准输入的数据)
while(fgets(sendbuf, sizeof(sendbuf), stdin) != NULL){ /* 每行的字符不能超过sizeof(sendbuf)才能正常工作 */
sendto(sock, sendbuf, strlen(sendbuf), 0, (struct sockaddr *)&servaddr, sizeof(servaddr)); // sendto()适用于发送未建立连接的UDP数据包
//6、开始接收数据,接收服务端返回的数据
perror("recvfrom");
exit(EXIT_FAILURE);
}
//fputs(recvbuf, stdout); //将服务端返回的数据写入到标准输出
//7、清空发送与接收缓存
memset(sendbuf, 0, sizeof(sendbuf));
memset(recvbuf, 0, sizeof(recvbuf));
}
//8、关闭socket流
close(sock);
}
int main(void){
int sock;
//1.创建客户端的socket
if((sock = socket(PF_INET, SOCK_DGRAM, 0)) < 0){
perror("socket");
exit(EXIT_FAILURE);
}
client(sock);
return 0;
}
//2、设置客户端socket参数
struct sockaddr_in servaddr; // 声明一个sockaddr_in 类型的变量servaddr
memset(&servaddr, 0, sizeof(servaddr)); //初始化数组,释放变量使用控件
//3、设置传输协议、端口以及目的地址
servaddr.sin_family = AF_INET; //传输协议
servaddr.sin_port = htons(5188); // 端口
servaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); //目的地址
//4、创建发送与接收缓存字节数组
int ret;
char sendbuf[1024] = {0}; //发送
char recvbuf[1024] = {0}; //接收缓存
//5、开始发送数据(此处是发送来自标准输入的数据)
while(fgets(sendbuf, sizeof(sendbuf), stdin) != NULL){ /* 每行的字符不能超过sizeof(sendbuf)才能正常工作 */
sendto(sock, sendbuf, strlen(sendbuf), 0, (struct sockaddr *)&servaddr, sizeof(servaddr)); // sendto()适用于发送未建立连接的UDP数据包
//6、开始接收数据,接收服务端返回的数据
ret = recvfrom(sock, recvbuf, sizeof(recvbuf), 0, NULL, NULL); //recvfrom()接收一个数据报并保存源地址。
if(ret == -1){perror("recvfrom");
exit(EXIT_FAILURE);
}
//fputs(recvbuf, stdout); //将服务端返回的数据写入到标准输出
//7、清空发送与接收缓存
memset(sendbuf, 0, sizeof(sendbuf));
memset(recvbuf, 0, sizeof(recvbuf));
}
//8、关闭socket流
close(sock);
}
int main(void){
int sock;
//1.创建客户端的socket
if((sock = socket(PF_INET, SOCK_DGRAM, 0)) < 0){
perror("socket");
exit(EXIT_FAILURE);
}
client(sock);
return 0;
}
阅读全文
1 0
- udp传输数据
- socket UDP传输数据
- UDP传输数据
- UDP 传输键盘录入数据
- UDP传输数据及文件
- Java使用UDP实现数据的传输
- UDP协议下数据的传输分析
- indy10 udp传输记录类型的数据
- UDP协议下数据的传输分析
- java使用UDP协议传输数据
- java使用UDP协议传输数据
- 使用UDP方式进行传输数据
- 网络编程 UDP TCP传输数据
- 利用UDP传输结构体数据 structdata over udp
- UDP传输
- UDP传输
- UDP传输
- socket编程(三)---- UDP协议与传输数据报文
- tomcat内存溢出解决方法
- ImageLonder框架的使用,自定义ImageLoderUtils类,可以实现简单展示图片
- Struts2拦截器的详解
- mysql中engine=innodb和engine=myisam的区别
- 计算一个整数的数位和
- UDP传输数据
- Ubuntu12.04下飞鸽与Windows之间通信乱码问题
- Python3《机器学习实战》学习笔记(十):提升分类器性能利器-AdaBoost
- 第7周项目5- 排队看病模拟
- 003--js替换全部字符串
- 洛谷 P1377 [TJOI2011]树的序
- Android中的网络请求之HttpURLConnection
- 第七周项目1-建立顺序环形队列算法库
- C#文件的输入与输出