全球旧事资料 分类
别完成发送和接收信息的
f任务,这两个线程共享其进程拥有的统一个端口地址。由于创建进程的进程本身会作为一个线程来调度,所以只需要再创建一个线程专门负责接收信息就可以了。
因此,对于从每个客户端发来的请求,服务器端都要创建相应的线程去接收并处理;同理,对于客户端而言,也要创建一个线程去读取服务器端发来的信息。
f4工作原理
41Li
ux提供的有关Socket的系统调用
1Socket作用:socket函数为客户机或服务器创建一个sokcet格式:i
tsocketi
tfamilyi
ttypei
tprotocol参数说明:Family:表示地址族,可以去AF_UNLX和AF_INT。其中,AF_UNLX只能够用于单一的UNIX系统进程间通信AF_INT是针对
I
ter
et的,因而可以允许在远程主机之间通信,实验中使用AF_INT。Type:网络程序所采用的通信协议,可以取SOCK_STREAM或SOCK_DGRAM。
其中,SOCK_STREAM表明使用的是TCP协议,这样提供按顺序的、可靠的、双向、面向连接的比特流;SOCKE_DGRAM表明使用的是UDP协议,这样只会提供定长、不可靠、无连接的通信。2bi
d
格式:i
tbi
di
tsockfdstructsockaddraddri
taddrle
参数说明:Sockfd:socket的文件描述符号。Sockaddr:表示名字所用的一个数据结构,用来保存地址包括IP地址和端口Addrle
设置结构大小长度。3liste
格式:i
tliste
i
tsockfdi
tbacklog作用:监听连接信号,和accepted函数合同。参数说明:Sockfd:表示socket调用返回的文件描述符。
fBacklog:表示接入队列允许的连接数目,大多数系统允许20个,也可以子定义5~10个。
4accept格式:I
taccepti
tsockfdvoidaddri
taddrle
作用:与liste
函数合用,监听信息、接收客户端请求。参数说明:Sockfd:表示socket的文件描述符。Addr:表示指向局部的数据结构structsockaddri
的指针。Addrle
:表示地址的长度。
5co
ect格式:i
tco
ecti
tsockfdstructsockaddrserv_addri
taddrle
作用:在面向连接的系统中客户及连接服务器时使用,co
ect必须在bi
d后使
用。参数作用:Sockfd:表示socket的文件描述符。Servaddr:表示村访目的端口和ip地址(套接字)的数据结构。
6se
d和recv格式1:I
tse
di
tsockfdco
stvodmsgi
tle
i
tflags功能:发送信息。格式2:I
trecvi
tsockfdvoidbufi
tle
usig
edi
tflags作用:用于流式socket、数据报socket内部之间的通信。
7close和shutdow
格式:Closei
tsockfd或I
tshutdow
i
tsockfdi
thow
f参数说明:How的值为下面一种:0不允许继续接收;1不允许继续发送;2不允许继续发送和接收。8有关线程r
好听全球资料 返回顶部