?》》》不同线程之间的通讯,该怎样实现》》???请教高手!等待!
我学习了Socket类,用它作了一个类似于QQ的东西,(很简陋)
大体想法如下:
S端主线程循环侦听固定的端口,如果有连接,则开始新的线程,线程中侦听某个新的端口,主线程“通知”连接的C端向这个新的端口进行连接后与C端断开,重新开始侦听循环。在线程中C与S连接,产生一条(TCP,Stream)“通讯回路”,可接受或者发送数据。
S端用一个结构数组来管理所有的与C端连接的Socket及其他相关的东西(比如发送缓冲区,接收缓冲区等等),原来以为C向C端发送数据的工作很简单,不过是向向某个结构的缓冲区读取或者写入,然后发送就行了,但是:我想错了! 我面临的是如何在不同的线程之间进行数据交换,重点是要知道何时缓冲区可以读写,什么时候不可以。
我想请教高手们:我的想法(程序的结构)是否合理?不同线程的数据交换用一个什么样的思路作呢?在线等待哦。。。