CSocket 服务端,多线程 receive send 问题 请高手帮忙
当一个socket对象 成功连接之后,我想用 当前线程作为send,新开辟一个线程,把连接成功的socket对象传入该线程,作为receive, 会因为共用一个socket对象 引起冲突吗?
如果会引起冲突,那么实现这样的一个服务端,该怎么做呢?
[解决办法]
也就是自己给自己发信息,同一个SOCKET对象,倒真没试过。
一般做法是:
一个SOCKET用来send,另一个用来receive。
也就是说,LZ可以在两个线程中分别创建SOCKET对象,其中一个用来发送信息,另一个用来接收信息。
[解决办法]
如果是两个线程(这两个线程属于一个进程)都向一个 SOCKET 写入, 只要是互斥操作的话 应该是可以的
但楼主是 两个线程(这两个线程属于一个进程), 其中一个向 SOCKET 写入, 另一个从 SOCKET 读取, 这也就是 SOCKET 向自己发消息, 我没有试过, 也不知道行不行。 楼主不妨自己写个试一下
还有 要是两个线程(这两个线程属于一个进程), 并且该进程 创建两个 SOCKET , 一个SOCKET 负责写入, 另一个 SOCKET 负责读取, 不知道这样行不行??? 我觉得应该可以
[解决办法]