社区
C语言
帖子详情
求助 关于多线程socket
dodoboy
2007-07-13 09:52:35
要求进行的处理是服务器接受客户端的消息,解析消息,然后将对应的消息发送给客户端,这三个处理对应三个线程。如果要多个客户端与服务器端连接的话,服务器端要怎么设置?是对应每个客户端创建对应的三个线程,接受和发送数据的buffer怎么分配?
...全文
141
5
打赏
收藏
求助 关于多线程socket
要求进行的处理是服务器接受客户端的消息,解析消息,然后将对应的消息发送给客户端,这三个处理对应三个线程。如果要多个客户端与服务器端连接的话,服务器端要怎么设置?是对应每个客户端创建对应的三个线程,接受和发送数据的buffer怎么分配?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dice_com
2007-07-13
打赏
举报
回复
当然有,既然建立起了连接,不管你是什么连接(TCP,UDP或者其他)都可以从连接的对象中获取到RemoteIP,去查一下msdn,连接对象肯定有类似于GetRemoteIP的方法
dodoboy
2007-07-13
打赏
举报
回复
收到的消息格式是事先定义好的,不能在前面加IP头。还有其他的方法吗?
dice_com
2007-07-13
打赏
举报
回复
消息结构体定义啊,去简单学习一个任意的通讯协议,比如tcp,udp,你在你的消息头中带一个SourceIP不就ok了么?
想不到你会问这个问题,呵呵
dodoboy
2007-07-13
打赏
举报
回复
问题是消息要发送到对应的客户端,如何能鉴别哪个消息谁的呢?
dice_com
2007-07-13
打赏
举报
回复
作两个队列,
队列A 存储待解析消息
队列B 存储待发送消息
你可以根据数据量来决定增加还是不增加新线程,比如你定义一个规则,队列中只能有5个消息排队,则当队列A中超过5个消息时你再new出一个新的消息解析线程,当无排队消息时你可让此线程消亡,
消息发送队列也是类似;
没有必要强制每个客户端必须启动三个线程,很浪费资源的。
至于内存的分配,可系统启动时即分配一组内存栈,对内存进行压入、取出操作,当消息增多时,适当增大此内存栈即可。注意对内存的适时收回
(转)
Socket
&
多线程
,
Socket
&
多线程
现在很多做网络通讯中间代理层的通讯都是使用Java1.4以后推出的NIO进行编写,现在还有很多开源的框架也是封装了NIO的书写细节来帮助大家简写异步非阻塞通讯服务。像MySql的代理中间件amoeba-mysql-proxy就是采用NIO...
qt udp
多线程
收发过程_! udp
多线程
的有关问题
udp
多线程
的问题我做了个udp接收的测试程序,刚开始能收到数据,收了几条数据之后就报个错:Q
Socket
Notifier:
Socket
notifierscannotbeenabledordisabledfromanotherthread然后程序就收不到数据了,但是程序没有崩溃...
C语言线程关闭会释放自动释放,[
求助
]关于C语言
多线程
内存释放的问题
[
求助
]关于C语言
多线程
内存释放的问题这是小弟最近编的一个LINUX下的C语言聊天室程序,刚开始运行的时候没问题,但运行后直接关闭程序的时候,下次在执行的时候就不能正常执行了,初步估计是
多线程
的地方内存没管理...
JAVA
多线程
求助
我在main()中new了一个对象A,A又开了5个子线程,怎样在main()中通知子线程让他们wait()...
C#.net同步异步
SOCKET
通讯和
多线程
总结(5)tcp发送和接受的代码
基于TCP协议的发送和接收端 TCP协议的接收端 using System.Net.
Socket
s ;... //使用到线程 using System.IO ; //使用到StreamReader类 int port = 8000; //定义侦听端口号 private Thread thThreadRead;
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章