一个初级的网络程序示例--创建socket,绑定ip地址
作者:互联网
一个linux程序
网络通信的服务器,监听某个端口号。这里的代码介绍了如何绑定ip地址,如何创建socket,如何设置Ip地址族等
#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <signal.h> #include <unistd.h> #include <stdlib.h> #include <assert.h> #include <stdio.h> #include <string.h> static bool stop = false; static void handle_term( int sig ) { stop = true; } int main( int argc, char* argv[] ) { signal( SIGTERM, handle_term ); if( argc <= 3 ) { printf( "usage: %s ip_address port_number backlog\n", basename( argv[0] ) ); return 1; } const char* ip = argv[1]; int port = atoi( argv[2] ); int backlog = atoi( argv[3] ); int sock = socket( PF_INET, SOCK_STREAM, 0 ); assert( sock >= 0 ); struct sockaddr_in address; bzero( &address, sizeof( address ) ); address.sin_family = AF_INET; inet_pton( AF_INET, ip, &address.sin_addr ); address.sin_port = htons( port ); int ret = bind( sock, ( struct sockaddr* )&address, sizeof( address ) ); assert( ret != -1 ); ret = listen( sock, backlog ); assert( ret != -1 ); while ( ! stop ) { sleep( 1 ); } close( sock ); return 0; }
标签:socket,示例,--,ip,sock,ret,int,address,include 来源: https://www.cnblogs.com/music-liang/p/16637645.html