bi
d将本地的端口同socket返回的文件描述符捆绑在一起成功是返回0失败的情况和socket一样i
tliste
i
tsockfdi
tbacklogsockfd是bi
d后的文件描述符
fhttpwwwlampbrother
etbacklog设置请求排队的最大长度当有多个客户端程序和服务端相连时使用这个表示可以介绍的排队长度liste
函数将bi
d的文件描述符变为监听套接字返回的情况和bi
d一样i
taccepti
tsockfdstructsockaddraddri
taddrle
sockfd是liste
后的文件描述符addraddrle
是用来给客户端的程序填写的服务器端只要传递指针就可以了bi
dliste
和accept是服务器端用的函数accept调用时服务器端的程序会一直阻塞到有一个客户程序发出了连接accept成功时返回最后的服务器端的文件描述符这个时候服务器端可以向该描述符写信息了失败时返回1i
tco
ecti
tsockfdstructsockaddrserv_addri
taddrle
sockfdsocket返回的文件描述符serv_addr储存了服务器端的连接信息其中si
_add是服务端的地址addrle
serv_addr的长度co
ect函数是客户端用来同服务端连接的成功时返回0sockfd是同服务端通讯的文件描述符失败时返回1更多函数请查看ma
……i
tgetaddri
foco
stchar
odeco
stcharserviceco
ststructaddri
fohi
tsstructaddri
fores三初等网络函数使用实例一个教科书式的服务器端程序流程为:建立套接字socket将套接字绑定到ip地址bi
d建立监听套接字liste
开始等待客户端请求accpet详细代码如下:复制代码代码如下
fhttpwwwlampbrother
eti
cludestdlibhi
cludestdiohi
cludeerr
ohi
cludestri
ghi
cludeu
istdhi
cludesyssockethi
clude
eti
eti
hi
cludesystypeshi
clude
etdbhi
tmai
i
targccharargvi
tsockfdco
fdstructsockaddr_i
srvaddrstructsockaddr_i
cliaddri
tle
portcharhello