其他用户同样能够看到相应的内容,类似群聊,如下图:
注意查看标题栏标红处,聊天内容是一致的,但是其实是三个不同用户(IP不同)看到的。
2.1 格式选择,如下图:
群聊格式选择
2.2 保留聊天记录,如下图:
群聊记录保存
如果想保留非格式的,可以选odt格式,如下图:
保留格式的话,可以选择htm或html格式,如下图:
2.3 清空聊天记录,如下图:
2.4 发送空消息,如下图:
群聊发送空消息
2.5 @TA
当我们想给某人说话的时候linux局域网聊天软件,我们可以@TA,如下图:
群聊@TA
要是当前这个用户的聊天窗口最小化,可能会错过消息,我们还会给他提示哦,如下图:
群聊 消息提示
主要功能就是这些了,还包括在线人数统计,标题栏那里出现的当前是哪个用户在使用这个群聊工具和用户离开的记录,如下图:
实现原理
利用UDP广播报文实现同局域网下所有小伙伴的信息收发。
名词解释
UDP:UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。也就是说,当报文发送之后,是无法得知其是否安全完整到达的。(百度百科)
详细的UDP举例解释,可以参考:
那么什么是广播呢?
还记得我们学校开运动会的时候吗,学校大喇叭播放着运动员的战绩,或者洋溢着激情的音乐,此时广播中突然响起了:“捡到饭卡一张,请丢失的同学抓紧时间来领取”。有点类似下面的场景:
广播的广义概念
学校的广播并没有针对谁红旗 linux,包括广播人都收到了相关的消息,但是只有真正丢失的学生才会感兴趣。
上面是广义的广播概念,下面我们会引申到计算机通信中,如下图:
广播在计算机网络中的概念
终端A发送的广播报文,终端A、终端B、终端C都会收到,但是是否会使用则根据自己的需要了。
我们在这次的例子,所有的信息通过广播方式发送,运行该程序的电脑终端会处理相应的消息。
注意事项
1、连接必须正常,不能出现169这类奇怪的IP地址。
2、请关闭防火墙,或者将相应的UDP端口加入防火墙中,方法请自行百度。
3、因为采用的是广播报文方式,要想验证成功,所有终端必须在交换机下,因为路由器会隔离广播报文。
4、一般来说,找几台电脑终端来试验不是容易的事情,一般都是通过虚拟机的方式来验证,我自己也是。这里特别注意,试验的时候,要么虚拟机之间进行测试,那么在真实的主机之间测试,避免ping可以通,但是就是不能用的情况。
如果在真实主机之间测试linux局域网聊天软件,请关闭虚拟网卡,避免主机之间测试失败。
本例中虚拟机使用的网络连接方式为:NAT。
以上算是一点心得体会吧!
最后
好的,今天介绍就到这里了。如果你喜欢本篇文章linux,请给我点赞
赞赏(推荐)