udpecho2.c
来自「一个很好的unix网络编程框架」· C语言 代码 · 共 41 行
C
41 行
#include "etcp.h"int main( int argc, char **argv ){ struct sockaddr_in peer; int s; int rc; int len; int pidsz; char buf[ 120 ]; pidsz = sprintf( buf, "%d: ", getpid() ); len = sizeof( peer ); rc = recvfrom( 0, buf + pidsz, sizeof( buf ) - pidsz, 0, ( struct sockaddr * )&peer, &len ); if ( rc < 0 ) exit( 1 ); s = socket( AF_INET, SOCK_DGRAM, 0 ); if ( s < 0 ) exit( 1 ); if ( connect( s, ( struct sockaddr * )&peer, len ) < 0 ) exit( 1 ); if ( fork() != 0 ) /* error or parent? */ exit( 0 ); /* child process */ while ( strncmp( buf + pidsz, "done", 4 ) != 0 ) { if ( write( s, buf, rc + pidsz ) < 0 ) break; pidsz = sprintf( buf, "%d: ", getpid() ); alarm( 30 ); rc = read( s, buf + pidsz, sizeof( buf ) - pidsz ); alarm( 0 ); if ( rc < 0 ) break; } exit( 0 );}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?