socket通信原理

  socket有3种类型,流式socket、数据报socket和原始soclet。
  流式socket定义了一种可靠的面向连接的服务,实现无差错、无重复的顺序数据传输;数据报socket定义了一种无连接的服务,数据通过相互独立的报文进行传输,这种传输是无序的,并且不保证可靠和无差错;原始socket允许对低层协议如IP或ICMP进行直接访问,主要用于定心网络协议实现的测试。
  无连接服务器一般都是面向事务处理的,一个请求和一个应答就完成了客户程序与服务程序之间的相互作用。
  面向连接的服务器处理的请求一般比较复杂。面向连接的socket编程,工作过程为:
服务器启动,调用socket()建立一个socket,然后调用bind(),将该soclet和本地网络地址联系在一起,再调用listen(),使Socket做好侦听准备,并规定请求队列程度名之后调用accept()接受连接。客户建立socket后嗲用connect()和服务器建立连接。通过read()和wrie()来发送和接受数据。数据传送结束后调用close()关闭soclet。

猜你喜欢

转载自y-x.iteye.com/blog/1405863