你的多线程不是用的TServerClientThread继承下来的吗?
一个线程对应包括本线程的一个ClientSocket和一个ServerSocket。。
帮助上多少谈了一些
一个线程对应包括本线程的一个ClientSocket和一个ServerSocket。。
帮助上多少谈了一些
解决方案 »
- 我的子类可以访问父类私有变量,为什么?怪、怪、怪、怪......
- Delphi高手看过来,关于IXMLNodeList处理XML子节点问题!
- 粘贴文本时,汉字出现乱码,怎办?
- 高分求教,哪有CRM的数据库设计
- 如何通过DELPHI得到WINDOWS的登陆用户名
- 請教一個Quickrep 報表顯示問題﹗急...在線等...onlining!!!!
- 关于“连接符”。
- 在调用一个DLL时,出现这样的错误:“Invalid pointer Operation”是什么原因?
- 急,有200分,帮忙
- 在D5上安装rx2.75控件的问题!60分!!
- DbGrid不能显示小数点后有5位以上的数字,怎吗办?
- 哪位高手知道有没有这样的工具,可能将DOC文件全部一次性地转化为RTF格式的文档? 如DOC2RTF.EXE这样的工具?
是连接到其他SERVER的SERVER SOCKET的,图:
CLIENT SOCKET<——> CLIENT SOCKET <——> CLIENT SOCKET <——>\SERVER SOCKET<----->CLIENT SOCKET<------>SERVER SOCKET
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
你的程序中是一个sorver socket对应多个client socket的吧,那应该会有多个通道的.
直接在程序中判断然后再选择用哪个通道不就可以可吗?
客户3 /|-------------服务器1--------------|----|---服务器2---|
我是这样处理的,运态给client分配端口,server有一个端口1专门用来监听,
每一个请求,SERVER就动态生成一个serversocket,即是动态分配一个端口2(3..n)给客户端,然后通知客户端,更改通讯端口,和新生成的serversocket通讯,这样客户端就和服务器就可以“安全”通讯了,单独的通讯线程也建立了。
我换个说法:
假设我的SERVERSOCKET用阻塞线程的方式与客户通讯,那么一个客户一个线程,现在假如有个读
数据库的线程,也就是生产线程,那么前面的通讯线程也就是消费线程,现在,生产线程读出客户数据,然后送给相应的消费线程,那么生产与消费线程怎么通讯呢,因为这个时候是两两数据交换,难道要每个交换都定一个临界变量吗?