怎么将一个客户端的消息经过服务器中转发送到另一个客户端

时间:2021-10-05 04:04:13
最近在做一个局域网的聊天软件,功能类似QQ的群聊。
已经完成部分:客户端和服务器端能够正常连接,聊天室内消息的收发正常。服务器端和客户端都会显示一个在线用户列表。并且,服务器和客户端分别设计了一个链表,链表中存放的是客户端的用户名和IP。客户端的列表设计了一个双击事件,当选中某个列表成员并双击后,发起人会弹出一个新的聊天窗口。
现在的问题:
    怎么设计实现:发起人弹出新窗口的同时,对方也会弹出一个新的窗口,并且新窗口内输入的信息只在双方新弹出的窗口中显示,而其他人看不到。类似于QQ群里面,双击某个群的成员后,会弹出一个单独的聊天窗口。求大神指导。
PS:平台VC++6.0
    语言C++

4 个解决方案

#1


单独聊天的使用另外一种消息格式呗, 不要和群聊的混在一起就行了.

#2


发送方弹出窗口接收方也立即弹出?这是什么逻辑啊?转发的思想无非就是,服务端根据消息包,看To谁就在发送给谁就完了

#3


引用 2 楼 starytx 的回复:
发送方弹出窗口接收方也立即弹出?这是什么逻辑啊?转发的思想无非就是,服务端根据消息包,看To谁就在发送给谁就完了

我是想在发起方弹出新窗口的同时,向另一方发送一个标志,然后对方也弹窗。QQ里面用的图标闪动,我不想用,所以就想了这么个办法。
另外,服务器根据什么来判断是发给谁啊?如果要处理数据包,应该怎么处理,数据包里面是要添加IP么,如果是,又应该怎么添加呢?
我对报文也不是很熟悉,不知道怎么在报头上添加IP信息。求指导

#4


引用 1 楼 adlay 的回复:
单独聊天的使用另外一种消息格式呗, 不要和群聊的混在一起就行了.

不是太明白啊,主要是不知道怎么让服务器知道你是要发给谁?

#1


单独聊天的使用另外一种消息格式呗, 不要和群聊的混在一起就行了.

#2


发送方弹出窗口接收方也立即弹出?这是什么逻辑啊?转发的思想无非就是,服务端根据消息包,看To谁就在发送给谁就完了

#3


引用 2 楼 starytx 的回复:
发送方弹出窗口接收方也立即弹出?这是什么逻辑啊?转发的思想无非就是,服务端根据消息包,看To谁就在发送给谁就完了

我是想在发起方弹出新窗口的同时,向另一方发送一个标志,然后对方也弹窗。QQ里面用的图标闪动,我不想用,所以就想了这么个办法。
另外,服务器根据什么来判断是发给谁啊?如果要处理数据包,应该怎么处理,数据包里面是要添加IP么,如果是,又应该怎么添加呢?
我对报文也不是很熟悉,不知道怎么在报头上添加IP信息。求指导

#4


引用 1 楼 adlay 的回复:
单独聊天的使用另外一种消息格式呗, 不要和群聊的混在一起就行了.

不是太明白啊,主要是不知道怎么让服务器知道你是要发给谁?