基于TCP的 C/S模式 网络应用程序
来源:互联网 发布:js调用dll动态链接库 编辑:程序博客网 时间:2024/06/05 06:48
服务器端程序实现步骤:
1。创建套接字(socket)。
2。将套接字绑定到一个本地地址和端口上(bind)。
3。将套接字设为监听模式,准本接受客户请求(listen)。
4。等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。
5。用返回的套接字和客户端进行通信(send / recv)。
6。返回,等待另一个客户请求。
7。关闭套接字。
服务器端代码:
#include<Winsock2.h>#include<stdio.h>void main(){//加载Windows Socket库WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD( 1, 1 );err = WSAStartup( wVersionRequested, &wsaData );if ( err != 0 ) {return;}if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {WSACleanup( );return; }SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);addrSrv.sin_family=AF_INET;addrSrv.sin_port=htons(6000);bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));listen(sockSrv,5);SOCKADDR_IN addrClient;int len=sizeof(SOCKADDR);while(1){SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);char sendBuf[100];sprintf(sendBuf,"Welcome %s to http://blog.csdn.net/Crazy_xiaohe",inet_ntoa(addrClient.sin_addr));send(sockConn,sendBuf,strlen(sendBuf)+1,0);char recvBuf[100];recv(sockConn,recvBuf,100,0);printf("%s\n",recvBuf);closesocket(sockConn);}}
客户端程序实现步骤:
1。创建套接字(socket)。
2。向服务器发送连接请求(connect)。
3。和服务器端进行通信(send / recv)。
4。关闭套接字。
客户端代码:#include<Winsock2.h>#include<stdio.h>void main(){//加载Windows Socket库WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD( 1, 1 );err = WSAStartup( wVersionRequested, &wsaData );if ( err != 0 ) {return;}if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {WSACleanup( );return; }SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");addrSrv.sin_family=AF_INET;addrSrv.sin_port=htons(6000);connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));char recvBuf[100];recv(sockClient,recvBuf,100,0);printf("%s\n",recvBuf);send(sockClient,"This is xiaohe",strlen("This is xiaohe")+1,0);closesocket(sockClient);WSACleanup();}
PS:注意加入工程连接 ws2_32.lib
- 基于TCP的 C/S模式 网络应用程序
- 基于UDP的 C/S模式 网络应用程序
- 创建基于TCP的C/S应用程序
- 基于TCP的网络应用程序
- 基于C/S的简单TCP网络编程
- 基于TCP的C/S网络编程模型
- 基于java开发c/s模式的数据库应用程序
- 基于VxWorks嵌人式操作系统的C/S模式网络编程
- Windows实现基于TCP的网络应用程序
- 基于tcp的C/S模型
- Android 网络:基于TCP协议通信,多线程,实现简单的C/S聊天室
- 基于B/S+C/S模式的期刊网络采编系统研究及其应用
- 基于TCP连接的C S模式的最简单模型代码
- 基于C的UDP,TCP网络编程
- 基于C/S架构的网络聊天室
- C++基于TCP的网络应用程序的编写
- 基于TCP和UDP网络应用程序的编写
- [C语言]基于TCP的基本C/S模型
- 事务
- 手把手教你maven+sonar:项目部署
- MongoDB C++ 数组的写操作
- 字符编解码的故事(ASCII,GBK,Unicode,Utf-8区别)
- HDU-2000
- 基于TCP的 C/S模式 网络应用程序
- WIN7 安装盘 利用Diskpart命令分区方法
- oracle中最常见的数据类型
- Android.mk
- PHP中特殊HTML元素的转换
- 寻找第K大的数的方法总结
- POJ 3083 Children of the Candy Corn
- java设计模式---职责链模式
- C++ 中的hash_map详细讲解