简易聊天室案例

一、聊天室数据传输设计

这是一个由多人组成的聊天案例,所以称为聊天室。

它的基本要素就是多个客户端、服务器。

必要条件:客户端、服务器

必要约束:数据传输协议(本案例中,每一行都是一条数据)

原理:服务器监听消息来源、客户端连接服务器并发送消息到服务器

二、客户端、服务器数据交互

客户端向服务端发送请求,服务器收到该消息后,向客户端再回送一条消息。

这个过程可以是局域网上的设备,也可以是互联网上的设备。

三、数据传输协议

将要发送的数据(以字符串"Hello"为例)转换为长度为5的byte数组,然后进行转码追加一个换行符,变为长度为6的byte数组。

那么此时,真实发送的数据是6个字节。

当其它客户端或服务器收到消息后,遍历该消息,如果得到换行符,则说明是一整条数据,那么提取换行符之前的信息。

四、服务器客户端模型

客户端有pc、手机、平板等设备,这些设备都可以将信息传送到服务端。

比如PC向服务器发送消息,服务器收到消息后向其它连接的客户端比如手机和平板发送消息。手机和平板收到消息后就实现了pc与手机、平板交互的过程。

所以,pc与手机进行通信,并不是直接发送消息的,除非pc或手机之间有一个是服务器,有一个是客户端。但是,在这两者都是客户端的情况下,是不能进行信息传输的。除非使用的是udp广播的方式。但是广播的方式,由于消息非常多,会导致网络的拥堵。

五、客户端服务器网络模型

如果要向其它设备发送消息,这些设备都是客户端,并且不处于同一个局域网。那么,此时服务器需要部署在inter网外网上。

所有设备通过路由连接到服务器上,当pc要与其它设备通信时,首先将消息发送给服务器,服务器解析后,将数据转发给连接服务器的其它设备。

发布了174 篇原创文章 · 获赞 115 · 访问量 83万+

猜你喜欢

转载自blog.csdn.net/nicolelili1/article/details/103978878
今日推荐