我们还是从计算机的网络层说起,主要是分为7个层分别是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
数据之间的交互主要在传输层这一块。通常用到的底层协议有TCP和UDP这两种协议。通过中间层SOCKET协议,进行包装,再往上就是我们经常用到的>
>
上面这个就是我们网站的>
同时我们的实时聊天软件,比如今日头条的聊天软件就是通过TCP,SOCKET来进行通信的,这种是面向连接的长链接方式,双向通信。响应指定封包协议和解包协议,通过socket的处理,去监听两端的端口,分别获取各自的数据,和发送各自的数据。实现双向通信。具体过程如下:
>客户端步骤
1创建套接字
2向服务器发送连接请求(connect)
3通信(send/recv)
4关闭套接字
>服务器端步骤
1创建用于监听的套接字(socket)
2将套接字绑定到本地地址和端口上(bind)
3将套接字设为监听模式(listen)
4等待客户请求(accept),此处要不断的调用accept
5通信(send/receive),完成后返回4
6关闭套接字(closesocket)
谢谢阅读,欢迎关注。
TCP/IP协议是一个协议族,包括了一大组协议,对于整个服务器而言,在底层联系使用的是IP协议来实现地址的寻找,使用TCP或者UDP协议(都是TCP/IP协议族中的同层次协议)来实现各种服务的连接建立,然后使用各种应用服务协议来实现各种具体的服务,比如DNS协议实现DNS服务,>欢迎分享,转载请注明来源:内存溢出
评论列表(0条)