main.cpp

来自「SDK FAQ集」· C++ 代码 · 共 68 行

CPP
68
字号
/***********************************************************************
 main.cpp - The main() routine for all the "Basic Winsock" suite of
 	programs from the Winsock Programmer's FAQ.  This function parses
	the command line, starts up Winsock, and calls an external function
	called DoWinsock to do the actual work.

 This program is hereby released into the public domain.  There is
 ABSOLUTELY NO WARRANTY WHATSOEVER for this product.  Caveat hacker.
***********************************************************************/

#include <iostream.h>
#include <winsock2.h>


//// Prototypes ////////////////////////////////////////////////////////

extern int DoWinsock(const char* pcHost, int nPort);


//// Constants /////////////////////////////////////////////////////////

// Default port to connect to on the server
const int kDefaultServerPort = 4242;


//// main //////////////////////////////////////////////////////////////

int main(int argc, char* argv[])
{
	// Do we have enough command line arguments?
	if (argc < 2) {
		cerr << "usage: " << argv[0] << " <server-address> " <<
				"[server-port]" << endl << endl;
		cerr << "\tIf you don't pass server-port, it defaults to " <<
				kDefaultServerPort << "." << endl;
		return 1;
	}

	// Get host and (optionally) port from the command line
	const char* pcHost = argv[1];
	int nPort = kDefaultServerPort;
	if (argc >= 3) {
		nPort = atoi(argv[2]);
	}

	// Do a little sanity checking because we're anal.
	int nNumArgsIgnored = (argc - 3);
	if (nNumArgsIgnored > 0) {
		cerr << nNumArgsIgnored << " extra argument" <<
				(nNumArgsIgnored == 1 ? "" : "s") << 
				" ignored.  FYI." << endl;
	}

	// Start Winsock up
    WSAData wsaData;
    if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
        return 255;
    }

	// Do the actual connection stuff
    int retval = DoWinsock(pcHost, nPort);

	// Shut Winsock back down and take off.
    WSACleanup();
    return retval;
}

⌨️ 快捷键说明

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