关于TClientSocket和TServerSocket控件的使用????(200分)

  • 主题发起人 主题发起人 hermit
  • 开始时间 开始时间
H

hermit

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在想做一个分布式计算的程序,即将计算任务分配到不同的计算机上去,
各计算机之间用Socket机制进行通讯,共同完成计算任务.

现在遇到的问题是用ServerSocket不能用Sendbuf向ClientSocket发送数据.
连接建立后,Client端用ClientSocket1.Socket.Sendbuf(theBuf^,count)
向Server发送数据时,可以在ServerSocket的OnClientRead中收到Client发
送的数据. 但是Server端用ServerSocket1.Socket.Sendbuf(theBuf^,count),则出
错,说是调用Send时发生10057号错误.

1.不知道建立连接后从Server端应该怎样想Client端发送数据?

2.ServerSocket收到一个Client的连接请求后,就新创建一个Socket对象和一个线程,
让这个线程在该Socket上和Client交互.请问各位大侠具体的过程是如何的?

3.用Socket通讯还可以用NMUDP控件,各位觉得我的这个问题用哪个好?

小弟这边有些急,请各位大侠指点迷津,感激不尽.

// bow



 
>ServerSocket1.Socket.Sendbuf(theBuf^,count)
不对吧,应该是:
ServerSocket1.Socket.Connections.SendBuf(theBuf^,count)
 
我觉得nmudp好一些,用socket时,需用到socket.connections[],这个数组不好控制
 
xman:
你所说的不好控制,是指哪一方面,可以详细一些吗?
用TServerSocket和TCleintSocket当数据量比较大的时候(如几百K),可不可以在OnRead
事件中一次收到所有的数据,如果用UDP是否还要自己组装数据.
先谢过两位前辈.

 
多人接受答案了。
 
后退
顶部