⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.cpp

📁 使用winsock实现网络编程,完成客户端服务器端的简单通信.
💻 CPP
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -