社区
网络编程
帖子详情
多线程SOCKET通讯
iamzxx
2009-09-14 04:13:56
最近写一个SOCKET通讯的软件.
其中有一个通讯类, 该类每次实例化后, 都会创建2个线程.
这样一来, 这个类多次实例化后, 就会有2N个线程,
有什么办法, 让单个实例的2个线程互相通讯, 与其它实例的线程无关呢?
--
看了JAVA,有线程组的慨念, 哪位知道VC有同样的东西吗
...全文
171
12
打赏
收藏
多线程SOCKET通讯
最近写一个SOCKET通讯的软件. 其中有一个通讯类, 该类每次实例化后, 都会创建2个线程. 这样一来, 这个类多次实例化后, 就会有2N个线程, 有什么办法, 让单个实例的2个线程互相通讯, 与其它实例的线程无关呢? -- 看了JAVA,有线程组的慨念, 哪位知道VC有同样的东西吗
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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#基于TCP的
Socket
多线程
通信(包含服务端和客户端)
C#是一种广泛用于构建桌面和Web应用程序的编程语言,它提供了强大的网络编程能力,其中包括使用TCP
Socket
进行
多线程
通信。本篇文章将深入探讨C#中基于TCP的
Socket
多线程
通信,包括服务端和客户端的实现。 TCP...
MFC实现多个客户端通过服务器进行通信的
Socket
多线程
编程
1.基于MFC通过
多线程
实现多个客户端同时连接服务器。 2.服务端通过维护一张转发表来实现对客户端信息的转发,比如客户端A向客户端B发送消息,服务器接收到客户端A发过来消息内容和客户端B信息之后,通过转发表查找到...
java
socket
通讯
例程
多线程
读写 可以同时收发不同终端的消息
在主线程中通过控制台读取键盘...服务器在收到一个
socket
连接之后,把该
socket
保存到队列中,并对队列中的每个
socket
开启各自的读写线程。测试可以在不同控制台运行server和client,服务器接收消息时,会显示消息来源
java
多线程
聊天程序
Java
多线程
聊天程序是一种利用Java编程语言设计的实时
通讯
应用,它利用图形用户界面(GUI)提供交互式用户体验,并通过
Socket
进行网络通信。在这个程序中,
多线程
技术是核心,因为它允许并发处理,使得用户可以同时...
C#
Socket
通信实例
总的来说,"C#
Socket
通信实例"是一个实用的学习资源,它涵盖了
Socket
通信的基础知识,包括服务器端的监听和接受连接,客户端的连接和数据交换,以及在WinForms环境下的
多线程
处理。通过深入研究这个实例,开发者...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章