TCP套接字函数
1. socket函数 # include <sys/socket.h> int socket ( int family , int type , int protocol ) ; //若成功则返回非负描述符 //若出错返回-1 2.connect函数 # include <sys/socket.h> int connect ( int sockfd , const struct sockaddr * servaddr , socklen_t addrlen ) ; //若成功则返回0,出错返回-1 第二个参数是一个指向套接字地址结构的指针。 客户再调用函数connect前不必非得调用bind函数。 调用connect函数将激发TCP的三路握手,而且仅在 连接建立成功或出错时 才返回。 出错情况: (1)TCP客户端没有收到SYN分节的响应,返回ETIMEDOUT (2)若对SYN的响应为RST,表明服务器在指定端口没有进程在等待连接。 (3)SYN在中间某个路由器引发“目的地不可达”的ICMP错误。 若connect失败则该套接字不再可用,必须关闭。 3.bind函数 # include <sys/socket.h> int bind ( int sockfd , const struct sockaddr * myaddr , aocklen_t addrlen ) ; /