4.等待客户请求到来;当请求到来后,接受连接请求,返回一个新对应于此次连接的套接字(accept)。
5.用返回的套接字和客户端进行通讯(send/recv)。 6.返回等待另一客户请求。 7.关闭套接字。
具体实现为:
2. 客户端的操作过程为:
1.创建套接字(socket)。
2.向服务器发出连接请求(connect)。 3.和服务器端进行通讯(send/recv)。 4.关闭套接字。
具体实现为:
上述操作需在程序的头文件中加入:
#include
三.具体实现
建立两个.cpp文件,一个作为客户端,给服务端发送请求从而获得相应 响应;一个作为服务端,在第二版本的代码的基础上,加上上述的操作过程,用来接收客户端的请求,做出相应处理并把结果发送回客户端。
为了调用方便,定义一个SEND()函数和一个RECV()函数来实现
客户端和服务端之间数据的交换。然后将第二版本代码中的输入输出改成相应的发送函数和接收函数就可以实现客户端和服务端之间的连接。
//定义接受接收函数 char* RECV(){
char *s=new char[SLEN];
ZeroMemory(buf,BUFSIZE); //清空原内容 retVal = recv(sClient, buf, BUFSIZE, 0); //接收字符串 strcpy(s,buf); //拷贝接收数据 cout<<\接受客户端字符串:\在服务端上显示 return s; //返回接收内容 }
//定义发送函数
void SEND(const char *s){ if (strlen(s) retVal = send(sClient, s, 1+strlen(s), 0); Sleep(50);