简单UDP通信
来源:互联网 发布:精梳羊绒知乎 编辑:程序博客网 时间:2024/06/02 02:39
//udpserver.cc#include <iostream>#include <strings.h>#include <stdlib.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>using namespace std;int main(int argc, char *argv[]){ //创建套接字 int sk = socket(AF_INET, SOCK_DGRAM, 0); struct sockaddr_in server; bzero(&server, sizeof(server)); server.sin_family = AF_INET; server.sin_port = htons(atoi(argv[1])); server.sin_addr.s_addr = htonl(INADDR_ANY); //绑定端口 bind(sk, (struct sockaddr*)&server, sizeof(server)); int len = 0; struct sockaddr_in client; bzero(&client, sizeof(client)); size_t size = sizeof(client); char buff[1024] = {'\0'}; //接收数据 while((len = recvfrom(sk, buff, sizeof(buff), 0, (struct sockaddr*)&client, &size)) > 0) {cout << buff << endl; } //关闭套接字 close(sk); return 0;}
//udpclient.cc#include <iostream>#include <cstring>#include <strings.h>#include <stdlib.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>using namespace std;int main(int argc, char *argv[]){ //创建套接字 int sk = socket(AF_INET, SOCK_DGRAM, 0); 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]); char buff[1024] = {'\0'}; while(1) {cin.getline(buff, sizeof(buff));sendto(sk, buff, sizeof(buff), 0, (struct sockaddr*)&server, sizeof(server));if(strcmp(buff, "quit") == 0){ break;} } close(sk); return 0;}
程序运行截图:
服务端:
客户端:
- 简单UDP通信
- udp通信简单实例
- UDP简单通信
- 简单udp通信
- 简单的UDP通信
- 简单的UDP通信
- UDP简单通信例子
- 简单的UDP通信方式
- [Java] Tcp/udp 简单通信
- Java UDP通信简单实现
- 简单的 Winsocket UDP 通信
- [Java] Tcp/udp 简单通信
- UDP网络通信的简单例子
- UDP通信的简单实现(程序)
- 非常简单的UDP通信程序,C#
- c++通信---最简单的UDP程序
- 简单的socket UDP Client Server通信
- Linux下UDP简单通信程序
- 准备好好研究下zigbee协议
- 你的学习是什么驱动的?
- linux 下的ip dns gateway相关配置
- 如何将Access数据表及数据记录完整的导入到Oracle中去
- MTK 6225 工程指令集
- 简单UDP通信
- 回顾会议需要达到什么样的目标
- WinAirCrackPack使用教程
- 使用强大的反射取消事件的订阅。
- Oracle Trigger
- WinRAR破解注册方法
- c# SQLHelper(for winForm)实现代码
- ASM问题-[INS-30511]an older ASM instance was found
- cocoa 国际化