- 论坛徽章:
- 1
|
原帖由 flw2 于 2008-9-2 17:59 发表 ![]()
flw能否有个C的,我看不懂,特别是第一个,我可以看看代码是怎么回事
- flw@waker:~$ cat listen.c
- # include <stdio.h>
- # include <sys/types.h>
- # include <sys/socket.h>
- # include <netinet/in.h>
- int main( int argc, char *argv[] )
- {
- int backlog;
- int sock;
- struct sockaddr_in addr;
- int ret;
- if ( argc != 2 ){
- printf( "Usage: %s <backlog>\n", argv[0] );
- printf( "use 5 for backlog\n" );
- backlog = 5;
- }
- else{
- backlog = atoi( argv[1] );
- }
- sock = socket( PF_INET, SOCK_STREAM, IPPROTO_TCP );
- if ( sock == -1 ){
- perror( "socket" );
- return -1;
- }
- addr.sin_family = AF_INET;
- addr.sin_port = htons( 9999 );
- addr.sin_addr.s_addr = INADDR_ANY;
- ret = bind( sock, (struct sockaddr *)&addr, sizeof(addr) );
- if ( ret == -1 ){
- perror( "bind" );
- return -1;
- }
- ret = listen( sock, backlog );
- if ( ret == -1 ){
- perror( "listen" );
- return -1;
- }
- while(1){
- sleep(1);
- }
- }
- flw@waker:~$
复制代码 |
|