vc++基于UDP的对话程序
来源:互联网 发布:网络呆梨是什么意思 编辑:程序博客网 时间:2024/06/03 20:00
服务器:
#include <winsock2.h>#include <stdio.h>int main(){WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD( 1, 1 );err = WSAStartup( wVersionRequested, &wsaData );if ( err != 0 ) {return -1;}if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {WSACleanup( );return -1; }SOCKET Srvier = socket(AF_INET, SOCK_DGRAM, 0);SOCKADDR_IN addr_srv;addr_srv.sin_family = AF_INET;addr_srv.sin_port = htons(6000);addr_srv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);bind(Srvier, (SOCKADDR *)&addr_srv, sizeof(addr_srv));char rbuf[100];char sbuf[100];char tbuf[100];SOCKADDR_IN addr_cli;int len = sizeof(addr_cli);while (1){recvfrom(Srvier, rbuf, 100,0, (SOCKADDR *)&addr_cli, &len);if ('q' == rbuf[0]){sendto(Srvier, "q", strlen("q")+1, 0, (SOCKADDR *)&addr_cli, len);printf("ceat end!\n");break;}sprintf(tbuf, "%s say : %s", inet_ntoa(addr_cli.sin_addr), rbuf);printf("%s\n", tbuf);printf("please input data:");gets(sbuf);sendto(Srvier, sbuf, strlen(sbuf)+1, 0, (SOCKADDR *)&addr_cli, len);}closesocket(Srvier);WSACleanup();return 0;}
客户端:
#include <winsock2.h>#include <stdio.h>int main(){WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD( 1, 1 );err = WSAStartup( wVersionRequested, &wsaData );if ( err != 0 ) {return -1;}if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {WSACleanup( );return -1; }SOCKET Client = socket(AF_INET, SOCK_DGRAM, 0);SOCKADDR_IN addr_srv;addr_srv.sin_family = AF_INET;addr_srv.sin_port = htons(6000);addr_srv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");int len = sizeof(addr_srv);char sbuf[100];char rbuf[100];char tbuf[100];while (1){printf("please input data:");gets(sbuf);sendto(Client, sbuf, strlen(sbuf)+1, 0, (SOCKADDR *)&addr_srv, len);recvfrom(Client, rbuf, 100, 0, (SOCKADDR *)&addr_srv, &len);if ('q' == rbuf[0]){sendto(Client, "q", strlen(sbuf)+1, 0, (SOCKADDR *)&addr_srv, len);printf("ceat end!\n");break;}sprintf(tbuf, "%s say: %s", inet_ntoa(addr_srv.sin_addr), rbuf);printf("%s\n", tbuf);}closesocket(Client);WSACleanup();return 0;}
- vc++基于UDP的对话程序
- VC++ 基于UDP的控制台聊天程序socket通信
- 基于UDP的网络通讯程序
- 基于UDP的SOCKET程序
- 基于UDP的聊天程序
- 基于UDP的聊天程序
- VC++编写的Socket udp通信程序
- VC++ UDP通信程序
- 基于UDP协议的广播程序实例
- 基于UDP的聊天程序-JAVA
- 基于UDP协议的网络程序
- 基于UDP 的QQ聊天程序一
- 基于UDP 的QQ聊天程序 二
- 基于UDP协议的网络程序
- 基于UDP的控制台聊天程序
- 基于UDP的ECHO控制台程序
- 基于UDP的简单聊天程序
- 基于UDP的多线程网络通信程序
- POJ3278 Catch That Cow
- 深入简出说明什么是“推送”(Push)
- 中国城市政治地位,政治地位决定一切!!!
- Java书籍Top 10
- Windows Server 2008 R2中安装SQL Server R2以支持SC2012_VMM
- vc++基于UDP的对话程序
- (7)21.2.3并发 练习3
- catalog备份数据库
- Ruby on Rails,使用where方法对持久化对象进行条件查询
- 信号量PV操作
- RMAN FORMAT字符串格式化
- Error: can not register my instance state - -1
- linux驱动学习(八) i2c驱动架构(史上最全) davinc dm368 i2c驱动分析
- MFC线程的创建与互斥