extsys.c

来自「一个很好的unix网络编程框架」· C语言 代码 · 共 35 行

C
35
字号
#include "etcp.h"#define COOKIESZ	4	/* set by our peer */int main( int argc, char **argv ){	SOCKET s;	SOCKET s1;	int rc;	char buf[ 128 ];	INIT();	s = tcp_server( NULL, argv[ 1 ] );	s1 = accept( s, NULL, NULL );	if ( !isvalidsock( s1 ) )		error( 1, errno, "accept failure" );	srand( 127 );	for ( ;; )	{		rc = readvrec( s1, buf, sizeof( buf ) );		if ( rc == 0 )			error( 1, 0, "peer disconnected\n" );		if ( rc < 0 )			error( 1, errno, "recv failure" );/*@.bp*/		if ( rand() % 100 < 33 )			continue;		write( 1, buf + COOKIESZ, rc - COOKIESZ );		memmove( buf + 1, buf, COOKIESZ );		buf[ 0 ] = '\006';		if ( send( s1, buf, 1 + COOKIESZ, 0 ) < 0 )			error( 1, errno, "send failure" );	}}

⌨️ 快捷键说明

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