一、服务器端编程
1、创建套接字(socket)。
2、将套接字绑定到一个本地地址和端口(bind)。
3、将套接字设为监听模式,准备接收客户请求(listen)。
4、等待客户的请求到来,当请求到来后,接收连接请求,返回一个新的对应于此次连接的套接字(accept)。
5、用返回的套接字和客户端进行通信(send/recv)。
6、返回,等待另一客户请求。
7、关闭套接字。
二、客户端编程
1、创建套接字(socket)。
2、向服务器发出连接请求(connect)。
3、和服务器端进行通信(send/recv)。
4、关闭套接字()。
以上只是从方法上进行阐述,接下来,给出一个简单但是具体的实例,慢慢品味,将会有很多收获。
当服务器端调用ACCEPT时,服务器端就进入等待状态,等待客户端调用Connect,当客户端调用Connect时,服务器端和客户端就建立了连接,接下来就可以用Send/Recv进行通讯了。
在客户端,并不需要调用bind函数,因为在服务器端,我们要接收客户端的请求,所以我们必须要告诉本地主机,我们打算在哪一个ip地址上,在哪一个端口上等待客户请求,对于客户端来说,当它发起连接的时候,在服务器端接收Accept这个连接的时候,它同时就保存了客户端的ip地址和端口号,所以对于服务器端来说,一旦建立连接之后,它实际上已经保存了客户端的一些信息,就可以调用send/recv和客户端进行通信了。