server.cpp

来自「一个unix和windows通用的socket函数封装的类」· C++ 代码 · 共 52 行

CPP
52
字号
#include <stdlib.h>
#include <stdio.h>#include <stdarg.h>
#include "socket.h"

void perr( char* str, ... ){	va_list args;	va_start( args, str );	vprintf( str, args );	va_end( args );	exit(1);}
int main( int argc, char *argv[] ){	sock srv(sock::tcp);
	if( argc != 2 )		perr("expect listening port number" );
	if( !srv.bind( inetaddr(atoi(argv[1])) ) )		perr("Failed to bind to port number (%d)", srv.errnum() );
	if( !srv.listen() )		perr("listen failed (%d)", srv.errnum() );
	while( srv.isValid() )	// for ever unless srv socket is corrupted	{		int val,l, r;		char*p;
		sock cli = srv.accept(); // wait for a client connection
		if( !cli.isValid() )	// just check client socket validity			continue;
		if( recvAll( (char*)&val, sizeof(val) ) != sizeof(val) )
			continue;	// wait for a new connection
		val += 5; // modify the integer
		cli.send( (char*)&val, sizeof(val) ); // send the modified integer, don't care	}
	perr( "server socket is not valid" );
	return 0;}

⌨️ 快捷键说明

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