你的多线程不是用的TServerClientThread继承下来的吗?
一个线程对应包括本线程的一个ClientSocket和一个ServerSocket。。
帮助上多少谈了一些
一个线程对应包括本线程的一个ClientSocket和一个ServerSocket。。
帮助上多少谈了一些
解决方案 »
- 大家现在待遇如何,要换工作了,参考下,我在北京,
- 关于ADOQUERY动态添加计算字段的问题,向高手请教
- 进来就知道是什么问题,简单(散分)急急急
- 怎么读取服务器上的C:\files\A.txt的文件?
- ShowModal在程序中不能顺利编译通过,问题可能出在哪里?
- 关于数据库操作的问题!
- users 用户下如何实现用sql server的信任连接访问数据库服务器。在线等!
- 谁有delphi常规控件详解之类的文档或者电子书籍啊,高分相赠!!!!
- 查询问题(为什么出错啊)
- Xe4中出现的Free错误,不知道什么问题,有知道的请指点一下
- 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用阻塞线程的方式与客户通讯,那么一个客户一个线程,现在假如有个读
数据库的线程,也就是生产线程,那么前面的通讯线程也就是消费线程,现在,生产线程读出客户数据,然后送给相应的消费线程,那么生产与消费线程怎么通讯呢,因为这个时候是两两数据交换,难道要每个交换都定一个临界变量吗?