server.cpp

来自「Source Code of jlinkserver for Segger JL」· C++ 代码 · 共 50 行

CPP
50
字号
#include "stdafx.h"


/** Create the socket to listen to
	@param port The port to create on
	@return the socket or INVALID_SOCKET if there is an error
*/
SOCKET CreateServerSocket(int port) {
	WSADATA data;
	SOCKET server;
	SOCKADDR_IN address;


	if (WSAStartup(MAKEWORD(2,0), &data) != 0) {
		goto failed;
	}

	server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
	if (server == INVALID_SOCKET) {
		goto failedAndStarted;
	}

	address.sin_family = AF_INET;
	address.sin_port = htons(port);
	address.sin_addr.s_addr = INADDR_ANY;


	if (bind(server, (struct sockaddr*)&address, sizeof(address))) {
		goto failedAndSocket;
	}

	if (listen(server, 3)) {
		goto failedAndSocket;
	}

	return server;



failedAndSocket:
	closesocket(server);

failedAndStarted:
	WSACleanup();

failed:
	return INVALID_SOCKET;


}

⌨️ 快捷键说明

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