当用TClientSocket发送数据时 TServerSocket接收数据
如果TClientSocket发送数据 速度过快
TServerSocket在接收数据时就把 两侦或者更多侦的数据一起接收 怎么解决这些问题
也就是TServerSocket 接收数据时只允许一侦一侦的接收!
如果TClientSocket发送数据 速度过快
TServerSocket在接收数据时就把 两侦或者更多侦的数据一起接收 怎么解决这些问题
也就是TServerSocket 接收数据时只允许一侦一侦的接收!
解决方案 »
- 多线程求助。
- 轻量级的IM工具。很小,但是文件传输方面的功能比较强大,速度也很不错。大家去试试看:)
- 关于TVideoGrabber(7.2.4 rev t)源码的使用,想要下载的也快来吧。
- 救命:当数据库服务器重启之后客户端如何自动重新建立连接?
- 请教硬件高手:CPU风扇坏了,是否会造成Windows 提示 Call your hardware vendor for support
- HttpServer小问题,下午结帖谢谢
- 如何在工具条的按钮上添加32×32的图标(*.ico)
- 一个sql问题
- 一个关于ADO控件中的怪现象,请高手指点.
- 程序运行错误!求救!help me!
- 核桃生日散分祝贺~~
- 请问Delphi多行注释时 用什么符号 谢谢!!
while Socket.ReceiveLength<SizeOf(TBLOCK) do
begin
application.ProcessMessages;
end; Socket.ReceiveBuf(BLOCK,SizeOf(TBLOCK));如果可能接收不同类型的数据包,就要加包头,先接收包头,根据包头确定要接收数据的大小。
序号 含义 宽度 格式 说明
1 头标志 1 二进制数 数值:0X02
2 业务数据包长度 4 右对齐,左补0 数字串报体长度,不含包头包尾,不含
校验字节 ,不含本身长度
3 业务数据包 N 变长字符串
4 尾标志 1 二进制数 数值:0X03
5 校验字节 1 二进制数
======================================================================================
算法如下
校验方式:从包的第一字节0x02开始,逐字节进行异或到包的结尾0X03,结果为最后校验字节。