网络编程之udp
来源:互联网 发布:嘉兴华点软件学院 编辑:程序博客网 时间:2024/05/01 21:35
客户端:
#include<iostream>#include<windows.h>using namespace std;#pragma comment(lib,"ws2_32.lib")#define PORT 1688#define IP "127.0.0.1"int main(){INT Ret;WSADATA wsaData;if ((Ret = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0){printf("WSAStartup() failes with error %d\n", Ret);WSACleanup();return -1;}SOCKET sockCli;sockCli = socket(AF_INET, SOCK_DGRAM, 0);SOCKADDR_IN addrSer;addrSer.sin_addr.S_un.S_addr = inet_addr(IP);addrSer.sin_family = AF_INET;addrSer.sin_port = htons(PORT); //与TCP相比较而言,省去了连接的步骤 char send[256];char recv[256];int len = sizeof(SOCKADDR_IN);while (1){cout << "Cli:>";cin >> send;sendto(sockCli, send, strlen(send) + 1, 0, (SOCKADDR *)&addrSer, len);cout << "Ser:>";recvfrom(sockCli, recv, sizeof(recv), 0, (SOCKADDR *)&addrSer, &len);cout << send << endl;}closesocket(sockCli);WSACleanup();return 0;}
服务器端:
#include<iostream>#include<windows.h>using namespace std;#pragma comment(lib,"ws2_32.lib")#define PORT 1688#define IP "127.0.0.1"int main(){//协商版本号INT Ret;WSADATA wsaData;if ((Ret = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0){printf("WSAStartup() failes with error %d\n", Ret);WSACleanup();return -1;}//创建套接字SOCKET sockSer;sockSer = socket(AF_INET, SOCK_DGRAM, 0);//创建地址结构体SOCKADDR_IN addrSer, addrCli;addrSer.sin_family = AF_INET;addrSer.sin_port = htons(PORT);addrSer.sin_addr.S_un.S_addr = inet_addr(IP);//将地址与套接字绑定int len = sizeof(SOCKADDR);bind(sockSer, (SOCKADDR *)&addrSer, len);cout << "server is waiting to link ...." << endl;//进行连接//accept(sockSer, (SOCKADDR *)&addrCli, &len);char recv[256];char send[256]; //少了等待连接的步骤while (1){recvfrom(sockSer, recv, sizeof(recv), 0, (SOCKADDR *)&addrCli, &len);cout << "Cli:>" << recv << endl;cin >> send;sendto(sockSer, send, strlen(send) + 1, 0, (SOCKADDR *)&addrCli, len);}closesocket(sockSer);WSACleanup();return 0;}
0 0
- 网络编程之udp
- 网络编程之UDP
- 网络编程之UDP
- 网络编程之udp
- 网络编程之 UDP
- 网络编程之UDP编程
- java网络编程之UDP
- java网络编程之UDP
- 网络编程之UDP服务器
- 网络编程之UDP客户端
- unix网络编程之udp
- java网络编程之UDP
- linux之UDP网络编程
- QT 网络编程之udp
- 网络编程之UDP协议
- Linux 网络编程之UDP
- Android网络编程之UDP
- Java网络编程之UDP
- Vim命令合集
- android ExpandableListView点击哪一条那一条显示,而其他条隐藏的实现办法
- windows安装 MongoDB 3.0.4
- 标志了Don'tDestroyOnload的物体,Trigger触发会调用2次
- 如何删除xcode项目中不再使用的图片资源
- 网络编程之udp
- 黑马程序员------C语言程序 const、static和extren 及内存管理
- Linux-nginx-base1
- 黑马程序员----怀揣梦想的翅膀
- NOI2015总结
- IT(计算机/软件/互联网)专业词汇宝典(持续更新中)
- 引用js或css后加?v= 版本号的用法
- 用Python模拟浏览器登录
- Lua打印table