server.cpp
来自「使用winsock实现网络编程,完成客户端服务器端的简单通信.」· C++ 代码 · 共 69 行
CPP
69 行
#include<stdio.h>
#include<winsock2.h>
void main()
{
WSADATA wsaData;
SOCKET server;
SOCKET connSock;
SOCKADDR_IN tcpAddr;
SOCKADDR_IN clientAddr;
vector <char> recBuff[100];
vector char sendBuff[100];
int port = 10000;
int len=sizeof(clientAddr);
WSAStartup(MAKEWORD(2,2),&wsaData);
server = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
tcpAddr.sin_family = AF_INET;
tcpAddr.sin_port = htons(port);
tcpAddr.sin_addr.s_addr = htonl(INADDR_ANY);
int bindError;
bindError=bind(server,(SOCKADDR *)&tcpAddr,sizeof(tcpAddr));
if(bindError==SOCKET_ERROR)
{
printf("error is : %s\n",WSAGetLastError());
}
else
{
printf("Bind is successful ...\n");
}
listen(server,5);
connSock=accept(server,(SOCKADDR*)&clientAddr,&len);
if(connSock==INVALID_SOCKET||connSock==WSAEWOULDBLOCK)
{
printf("error is : %s\n",WSAGetLastError());
}
else
{
printf("Accept is successful ...\n\n");
}
while(1)
{
//memset(recBuff,0,100);
int recvNum=0;
recvNum=recv(connSock,recBuff,100,0);
if(recvNum==SOCKET_ERROR)
{
printf("Client is closing ...\n");
break;
}
printf("recv number :%d\n",recvNum);
printf("client say : %s\n",recBuff);
//memset(sendBuff,0,100);
gets(sendBuff);
int sendNum=0;
sendNum=send(connSock,sendBuff,100,0);
printf("%d\n",sendNum);
}
closesocket(connSock);
closesocket(server);
WSACleanup();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?