我写了一个socket服务端程序,A客户端长连接上来,我就把socket存在一个list里面,当B客户端发送数据上来,我就把数据发给A客户端,如何能够等待A客户端返回数据以后,我再返回数据返回给B客户端呢?每次等待A客户端发送数据上来,就在另外一个线程里面了,导致到B一直收不到返回信息。我想实现的是,B发送上来的时候我发给A,等待A返回数据后,再返回给B。
哪个大神有类似的代码demo,
图片上,这是个for循环,当B发送命令给服务端以后,我根据命令找到了目标A,发送命令给A了,如何等待A返回数据以后再返回给B呢,后面不知道如何实现
socket向指令客户端发送消息问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
8条回答 默认 最新
- 小小农码 2017-12-29 04:11关注
两种方式,第一,不经过服务器,直接ab点对点,把服务器的功能写到客户端,比如记录聊天记录什么饿
第二,服务器端不要用list,用键值对,键就是客户端用户名,比如B ,当AB上线后,服务端记录socket,当B发消息给A时,中间经过服务器,这个时候就要求B的消息体中要告诉服务器我这个消息要发给谁,比如消息最前面是A,服务器收到后在键值对中找到A,这个时候标识一下,这个消息是B发来的,然后将这个标识连同消息一起发送给A,A回复时也是一样的逻辑,
总结就是
B-----服务器 这一步需要告诉服务器我给谁发消息
----服务器-----这一步服务器经过逻辑处理,知道这个消息来之于B,要发到A
服务器------A 这一步服务器将消息给A 并且有一个标识告诉A 这个消息来之于B本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥150 HDMI分路器LT86102 的输出在890MHz频点处EMC超标8DB
- ¥36 如何安全的迁移用户C盘用户文件(戴尔电脑)
- ¥15 druid(相关搜索:数据库|防火墙)
- ¥15 大一python作业
- ¥15 preLaunchTask"C/C++: aarch64- apple-darwin22-g++-14 生成活动 文件”已终止,退出代码为-1。
- ¥60 如何鉴定微信小程序数据被篡改过
- ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
- ¥20 C#上传XML格式数据
- ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
- ¥20 手机截图相片分辨率降低一半