main.cpp

来自「TCP/IP进行通信的实例」· C++ 代码 · 共 45 行

CPP
45
字号
#include "InitSock.h" //自己的头文件,统一
#include <stdio.h>
CInitSock initSock;  // 初始化Winsock库   
int main()
{
	SOCKET sListen = ::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
	if(sListen == INVALID_SOCKET)
	{
                printf("Fail socket() \n");
	}
	sockaddr_in sin;
	sin.sin_family =AF_INET;
	sin.sin_port = htons(4567);
	sin.sin_addr.S_un.S_addr=INADDR_ANY;
	if(::bind(sListen,(LPSOCKADDR)&sin,sizeof(sin)) == SOCKET_ERROR)
	{
		printf("Fail bind() \n");
		return 0;

	}
	if(::listen(sListen,2) == SOCKET_ERROR)
	{
		printf("Fail listen()\n");
		return 0;
	}
	sockaddr_in remoteAddr;
	int nAddrLen = sizeof(remoteAddr);
	SOCKET sClient;
	char szText[] = "TCP Server demo!\r\n";
	while(TRUE)
	{
		sClient = ::accept(sListen,(SOCKADDR*)&remoteAddr,&nAddrLen);
		if(sClient == INVALID_SOCKET)
		{
			printf("Failed accept()");
			continue;	
		}
		printf("接受一个连接:%s\r\n",inet_ntoa(remoteAddr.sin_addr));
		::send(sClient ,szText,strlen(szText),0);
		::closesocket(sClient);
	}
	::closesocket(sListen);
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?