社区
网络编程
帖子详情
多线程SOCKET通讯
iamzxx
2009-09-14 04:13:56
最近写一个SOCKET通讯的软件.
其中有一个通讯类, 该类每次实例化后, 都会创建2个线程.
这样一来, 这个类多次实例化后, 就会有2N个线程,
有什么办法, 让单个实例的2个线程互相通讯, 与其它实例的线程无关呢?
--
看了JAVA,有线程组的慨念, 哪位知道VC有同样的东西吗
...全文
165
12
打赏
收藏
多线程SOCKET通讯
最近写一个SOCKET通讯的软件. 其中有一个通讯类, 该类每次实例化后, 都会创建2个线程. 这样一来, 这个类多次实例化后, 就会有2N个线程, 有什么办法, 让单个实例的2个线程互相通讯, 与其它实例的线程无关呢? -- 看了JAVA,有线程组的慨念, 哪位知道VC有同样的东西吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Qt-UI
2009-09-15
打赏
举报
回复
单实例内的通讯使用随机生成的端口进行通讯 新实例使用例外一对 这样多实例间就不会访问到了
stjay
2009-09-15
打赏
举报
回复
[Quote=引用 6 楼 iamzxx 的回复:]
楼上,我原来说的不够准确, 我说的类是笼统的说法, 实际是这个初始类又调用了其它的类去创建线程,有多个通讯类,如SOCKETDX,SOCKETTX,SOCKETRX.
目的是想让 这个初始类及所关联的类在实例化后进行通讯, 而不与另一次实例进行通讯.
[/Quote]
将 全局变量, 临界区 放进类里,
做成成员变量
每个实例的成员变量都互不相干的
iamzxx
2009-09-15
打赏
举报
回复
[Quote=引用 8 楼 xdljf 的回复:]
通信类一般搞一个线程就摆平了吧,为什么搞两个?
[/Quote]
与一台主机相连时,一个线程是发送数据, 一个线程RECV接收数据.
与多台主机相连时, 就产生了多个实例
iamzxx
2009-09-15
打赏
举报
回复
谢谢各位给的思路, 本人个人感觉PostThreadMessage比较适合在界面线程中传递信息, 假如是传递2个线程间的同步信息, 会不会产生因为线程优先级,线程等待等原因, 造成同步失败?
xdljf
2009-09-14
打赏
举报
回复
通信类一般搞一个线程就摆平了吧,为什么搞两个?
dirdirdir3
2009-09-14
打赏
举报
回复
可以用主线程作为周转,主线程里面存一个数组,有这两个线程的id,需要通讯的时候发消息给主线程,并附上自己的ID,然后主线程查找后发给另外一个线程...........
iamzxx
2009-09-14
打赏
举报
回复
楼上,我原来说的不够准确, 我说的类是笼统的说法, 实际是这个初始类又调用了其它的类去创建线程,有多个通讯类,如SOCKETDX,SOCKETTX,SOCKETRX.
目的是想让 这个初始类及所关联的类在实例化后进行通讯, 而不与另一次实例进行通讯.
gotooker
2009-09-14
打赏
举报
回复
楼主,你可以照原来的思路啊,多个实例并不影响你的流程啊。
你把原来的全局变量改为类的成员变量,每个对象初始化一个临界区,不久搞定了。
iamzxx
2009-09-14
打赏
举报
回复
写的是工作线程, 主要是传递一些SESSION, COUNT之类的简单数据.
原本只有一个实例时,使用的是全局变量, 读写时使用临界区. 觉得简单.
多个实例的情况下就用不上了. PostThreadMessage会不会太复杂?
zhaohongbo83
2009-09-14
打赏
举报
回复
可以呀,每一个实例都有一个进程共享空间,在这里线程之间可以相互通信,就像LS所说的PostThreadMessage来进行通讯!
Dingnifei123
2009-09-14
打赏
举报
回复
帮顶,
fishion
2009-09-14
打赏
举报
回复
每个线程句柄都是不一样的,创建的时候保存线程句柄,再用PostThreadMessage来进行通讯
c#
多线程
socket
开发(一个服务器对多个客户端)
c#语言开发
多线程
socket
服务器端程序,实现一个服务器同时与多个客户端连接对话。
java
socket
通讯
例程
多线程
读写 可以同时收发不同终端的消息
在主线程中通过控制台读取键盘输入时,会产生阻塞。故另外开启一个线程,用于接受客户端的
socket
消息。服务器在收到一个
socket
连接之后,把该
socket
保存到队列中,并对队列中的每个
socket
开启各自的读写线程。测试可以在不同控制台运行server和client,服务器接收消息时,会显示消息来源
java
Socket
多线程
通讯
实例
Java tcp
通讯
,运用
多线程
,一个服务端与多个客户端进行交互
C#基于TCP的
Socket
多线程
通信(包含服务端和客户端)
C#基于TCP的
Socket
多线程
通信(包含服务端和客户端) 代码都有注释,方便新手阅读
基于TCP/IP的
Socket
多线程
通信(服务器和客户端)
基于TCP/IP的
Socket
多线程
通信(服务器和客户端),需要的请下载看看。
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章