找回密码
 加入
搜索
查看: 2415|回复: 4

[网络通信] 请教使用TCPSend()发送数据为什么总是只有半截呢?[已解决]

[复制链接]
发表于 2010-2-27 15:54:53 | 显示全部楼层 |阅读模式
本帖最后由 dreamgg 于 2010-2-27 17:44 编辑

例如
$szData = "现在是:" & @HOUR & "点" & @MIN & "分" & @SEC& "秒"
TCPSend($ConnectedSocket, $szData)

本来应该显示 现在是:12点1分5秒
结果可能显示 现在是:12点1分5


什么原因呢?

已解决,感谢各位热心朋友
--------------------------------
StringToBinary($szData,2)解决

标志 = 2, 二进制数据为 UTF16 小编码
 楼主| 发表于 2010-2-27 16:01:41 | 显示全部楼层
TCPRecv设置的是2048字节
发表于 2010-2-27 16:33:21 | 显示全部楼层
用二进制方式传数据吧,安全些,而且转二进制时别用ANSI模式,也会丢字符或乱码。。

我最头疼的事UDF广播数据时,一般字符还不错,但广播文件,就坏了,那个丢包啊,客户机只能收到5、6次的。。。
 楼主| 发表于 2010-2-27 17:33:36 | 显示全部楼层
尝试使用二进制的UTF8编码,结果到服务端接收后出现部分乱码。
 楼主| 发表于 2010-2-27 17:43:45 | 显示全部楼层
本帖最后由 dreamgg 于 2010-2-27 17:45 编辑

标志 = 2, 二进制数据为 UTF16 小编码

BinaryToString($szData,2)解决
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 20:28 , Processed in 0.076551 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表