windows和linux中UDP编程
来源:互联网 发布:下载苹果软件 编辑:程序博客网 时间:2024/06/06 05:23
//servser.cpp
#include <iostream>#include <windows.h>#include <stdio.h>#include <string.h>#define IP "127.0.0.1"#define PORT 8888#pragma comment(lib,"ws2_32.lib")using namespace std;char* GetTime();int main(){ WSADATA wsaData; WORD Ret; if ((Ret = WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)) { cout << "WSAStartup() Error Whit:" << Ret << endl; WSACleanup(); return -1; }//统一版本类型。 SOCKET sockSer, sockCli; sockSer = socket(AF_INET,SOCK_DGRAM,0); SOCKADDR_IN addrSer, addrCli; memset(&addrSer,0,sizeof(addrSer)); memset(&addrCli,0,sizeof(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); char serbuff[255]; //不需要监听连接。 while (1) { recvfrom(sockSer,serbuff,sizeof(serbuff),0,(SOCKADDR*)&addrCli,&len); cout << serbuff << endl; sendto(sockSer, GetTime(), 30, 0, (SOCKADDR*)&addrCli, len); } WSACleanup(); closesocket(sockSer); closesocket(sockCli); return 0;}char* GetTime(){ char buff[255]; SYSTEMTIME sys; GetLocalTime(&sys);//初始化本地时间。 sprintf(buff,"%d:%d:%d:%d:%d:%d",sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute,sys.wSecond); return buff;}
#include <iostream>#include <windows.h>#define PORT 8888#define IP "127.0.0.1"using namespace std;#pragma comment(lib,"ws2_32.lib")int main(){ DWORD Ret; WSAData wsaData; if ((Ret = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0) { cout <<"WSAStartup() Error Wiht : "<< Ret << endl; WSACleanup(); return -1; } SOCKET sockCli = socket(AF_INET,SOCK_DGRAM,0); SOCKADDR_IN addrSer; addrSer.sin_family = AF_INET; addrSer.sin_port = htons(PORT); addrSer.sin_addr.S_un.S_addr = inet_addr(IP); int len = sizeof(addrSer); const char timebuff[] = "times"; char serbuff[255]; connect(sockCli,(SOCKADDR*)&addrSer,len); while (1) { sendto(sockCli,timebuff,strlen(timebuff)+1,0,(SOCKADDR*)&addrSer,len); recvfrom(sockCli,serbuff,sizeof(serbuff),0,(SOCKADDR*)&addrSer,&len); cout <<timebuff<<serbuff << endl; Sleep(2000); } return 0;}
//linux:
//ser.cpp
#include <iostream>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <string.h>#define PORT 8888#define IP "127.0.0.1"using namespace std;int main(){ int 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_addr = inet_addr(IP); socklen_t len=sizeof(sockaddr); bind(sockSer,(sockaddr*)&addrSer,len); char serbuff[255]="!Hello !I am server!"; char clibuff[255]; while(1) { recvfrom(sockSer,clibuff,sizeof(clibuff),0,(sockaddr*)&addrSer,&len); cout<<"CLient Say:"<<clibuff<<endl; sendto(sockSer,serbuff,strlen(serbuff)+1,0,(sockaddr*)&addrSer,len); } return 0;}
//cli.cpp
#include <iostream>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>#include <stdlib.h>#include <netinet/in.h>#include <arpa/inet.h>#define PORT 8888#define IP "127.0.0.1"using namespace std;int main(){ int sockCli = socket(AF_INET,SOCK_DGRAM,0); sockaddr_in addrSer; addrSer.sin_family = AF_INET; addrSer.sin_port = htons(PORT); addrSer.sin_addr.s_addr = inet_addr(IP); socklen_t len = sizeof(sockaddr); char clibuff[]="hello! I am client!"; char serbuff[255]; while(1) { sendto(sockCli,clibuff,strlen(clibuff)+1,0,(sockaddr*)&addrSer,len); recvfrom(sockCli,serbuff,sizeof(serbuff),0,(sockaddr*)&addrSer,&len); cout<<"Server Say:>"<<serbuff<<endl; sleep(2); } return 0;}
1 0
- windows和linux中UDP编程
- Linux--UDP编程-linux-server-windows-client
- Windows/Linux C语言的Socket编程例子(TCP和UDP)
- Linux网络编程(TCP和UDP)
- Linux下TCP和UDP编程实例
- linux socket编程 TCP和UDP实例
- Windows套接字编程:基于TCP和UDP协议
- Windows套接字编程:基于TCP和UDP协议
- windows Socket编程之UDP的服务端和客户端
- LINUX UDP网络编程
- Linux TCP/UDP编程
- Linux socket编程:udp
- Linux网络编程-UDP
- linux c编程 UDP
- Linux UDP编程
- Linux UDP编程(1)
- linux下UDP编程
- linux下udp编程
- C# 数组排序
- Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
- 免费真实增加网站访问量的方法
- hdoj1106排序
- [LeetCode] Majority Element II
- windows和linux中UDP编程
- 偶数求和
- 关于mysql Table * is read only错误
- AssertValid和Dump函数的应用
- ContentObserver 监听(监听自己数据库的变化)
- openfire服务器和jdk环境删除命令
- 《实体解析与信息质量》 - 3.1.2 SERF模型
- C++操作符重载
- VS的错误列表窗口