RT,我想用一对ClientSocket1和ServerSocket1启动另一对ClientSocket2和ServerSocket2。第一对成功连接后点击某按钮,ClientSocket1发送消息'1',ServerSocket1接收消息后ServerSocket2.Open,然后再由ServerSocket2返回一个消息'1'给ClientSocket1。ClientSocket1接收到该消息后(当然是在OnRead事件里)设置ClientSocket2的IP地址和端口并且ClientSocket2.Open。|||然后我让ClientSocket2.Socket.SendText('aaa');(即是在ClientSocket1的OnRead事件里发送这个消息)。这时问题出现了,程序运行后,ClientSocket2和ServerSocket2能成功进行连接,(由OnConnect事件可知),但ServerSocket2的OnRead就是接收不到ClientSocket2发送的'aaa'。这是为什么呢?是因为不能在在ClientSocket1的OnRead事件里发送这个消息吗?PS:我试过了程序启动后同时启动两对ClientSocket和ServerSocket,这个时候点击某按钮发送消息给ServerSocket2,则其就能接收到消息。但是同时启动的话逻辑很混乱而且有的时候没有必要T_T请各位大虾解答~~~谢谢!
解决方案 »
- 双击TADOconnection=>点击build=>显示 没有注册类别 请教大家了。。。
- 这样的系统该怎么处理!
- 关于数据库的一个问题
- 连接远程MS SQL Server2000问题?
- 关于printer的问题
- DELPHI类型转换的问题,很急!!!!!!!!!!!!
- 怎样把窗体或者窗体的控件作为参数传递?
- 现在我们要用delphi6开发程序,不知与delphi5和6有哪些优缺点?
- delphi 循环问题
- trayicon程序中popupmenu不能自动消失的问题?
- 哪位用过epson 590k?为什么fastreport的page_heightendless属性在此打印机上不起作用?
- DELPHI AND EXCEL
感觉你的整个逻辑有问题.理顺一下.
| -'1'-> | | |
| | --------------> |
| <-'1'- | | |
| ---------------> | |
| | -'aaa'-> |你的问题在于:
"然后我让ClientSocket2.Socket.SendText('aaa');" 时,可能并未连接成功。 你应该在 ClientSocket2 的 OnConnect 事件里再发 'aaa'。
如果用两对那么ServerSocket要分别监听不同的端口才行
好玩思路不太对头用一个Socket去"直接通知"另一个去做什么本来就比较危险总应该有个中间控制的过程,无论是出于什么目的