Socket原理及编程

一、Socket原理

按照一切皆文件的原理,socket相当于网络中的文件操作。

网络中进程之间的通信PID通过三元组ip地址、协议、端口号标识。

socket通信是“打开-读写-关闭“得一个实现。

二、Socket函数

int socket(int domain,int type,int protocol)相当于打开文件的操作,常用的socket(AF_INET,SOCK_STRAM,IPPROTO_TCP)。
int bind(int sockfd,const struct sockaddr *addr,socklen-T addren)bind函数会将socket打开的文件绑定到一个地址(ip地址+端口号),一般只有服务端会调用,而客户端由系统随机分配。
int listen(int sockfd,int backlog)
int connect(int sockfd,const struct sockadd *addr,socklen_t addrlen)
int accept(int sockfd,struct sockaddr *addr,socklen_t *addrlen)
read()/write()
recv()/send()
recvmsg(0/sendmsg()
close()

三、三次握手和四次握手

 

 

四、多客户端

多客户端与服务器通信时,一般通过fork()函数复制服务器程序。

posted @ 2016-04-03 18:58  大魔王Faker  阅读(205)  评论(0编辑  收藏  举报