socket-环信 number one

2017-01-19  本文已影响2人  冷了年度

socket “套接字”

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为socket。

应用程序通常通过”套接字“向网络发出请求或者应答网络请求。

客户端    socket --------通信管道--------  socket 服务器   socket为隧道的端口

客户端发送网络请求,服务器端响应网络请求。

网络上的请求就是通过Socket来建立连接然后互相通信

IP地址(网络上主机设备的唯一标识)

端口号:(定位程序)

用于标识进程的逻辑地址,不同进程的标示。

有效端口:(0---65535),其中0-1024由系统使用或者保留端口,开发中建议使用1024以上的端口。

传输协议(用什么样的方式交互)通讯规则和协议

tcp:传输控制协议

一:建立连接,形成传输数据的通道

二:在连接中进行大数据传输(数据大小不受限制)

三:通过三次握手完成连接,是可靠协议,安全送达  客户和服务端三次握手数据的安全性和可靠性。例如打电话。拨手机号码,对面响应,然后我收到响应也回复。

四:必须建立连接,效率会稍低。

udp:用户数据报协议

将数据及源和目的封装成数据包中,不需要建立连接。每个数据报的大小限制在64k之内,因为无需连接,是不可靠协议,不需要建立连接,速度快。

http底层就是socket建立通信管道,实现数据传输。HTTP是一个TCP的传输协议(方式),他是一个可靠、安全的协议

socket流程:

TCP客户端:socket()->connect->write()【写请求】->read->close.   两者是可以建立连接,请求数据,回应数据,接受连接

TCP服务端:socket ->bind()[绑定端口]->listen()[监听端口是否有人连接]->accept()->阻塞直到客户端连接 ->read()【读客户端请求】->处理请求->write()->read()->close()

上一篇下一篇

猜你喜欢

热点阅读