关于Socket的OnRead事件

wingoffire 2002-01-08 04:45:57
我要做一个简单的网络程序,测试在56Kmodem的环境下,socket之间的数据传输速度是多少,方法很简单
连接建立后,客户端发送一个字符串给服务器端,服务器端接收到后,不管收到的事什么字符,再发送一个字符串给客户,客户收到后计数加一再发送一个字符串给服务器,依此循环,10秒钟后结束显示发送的总包数。很简单吧!我在OnRead事件中处理,无非是每次触发OnRead事件后调用Socket.SendText('abc');
可是实际运行的时候,很奇怪,只能发送1次数据,客户端第一次收到服务器端返回的字符串后,再向服务器端发送字符串,服务器端就什么反应都没了,没有触发服务器的OnRead事件,真的很奇怪,检查了很久都没发现错误,我也试图察看Client socket的Ip Port等等,都是正确的.请各位大虾指教,小弟没什么分数,只有20相赠:(
...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wingoffire 2002-01-08
  • 打赏
  • 举报
回复
我说了不关心收到的字符串长度、内容的
cszhz 2002-01-08
  • 打赏
  • 举报
回复
类似于
TMsg_Send = record
style : char; //包类型
filename : string[54]; //文件名
filesize : cardinal; //文件大小
data : array [1..1400] of char; //文件内容
end;

^_^
cszhz 2002-01-08
  • 打赏
  • 举报
回复
最好格式化你的字符
接收前判断socket.ReceiveLength,socket每次接收的长度在变化,所以最好定长

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧