在vb winsock 做的客户端中传送一个自定义结构到 delphi 做的服务器端winsock 里中的问题

yxd9 2004-06-30 01:27:17
错误类型:
能接收到 recInfo 中的 Integer 数据 intNo 值,却接收不到 strName: String[200];的值



我在用VB WinSocket 做Client 发送一个自定义结构 到delphi winsocket 做的server 端

自定义结构如下

vb client 端的结构
Private Type recInfo
intNo As Integer
strName(199) As Byte
End Type

vb端的Socket 发送语句

Dim recTemp As recInfo

、、、、//////////////////////////
recTemp.intNo = 15

Dim S As String
S = "Text"
CopyMemory ByVal VarPtr(recTemp.strName(1)), ByVal StrPtr(S), 200



Dim buf(Len(recTemp)) As Byte
CopyMemory buf(0), recTemp, Len(recTemp)


Winsock1.SendData buf(0)


////////////////////////////////////////

delphi server 端

Type recInfo = Record
intNo: Integer;
strName: String[200];
End;
var recTemp: recInfo;

delphi端socket的接收语句

FClientSocket.Receive(@recTemp, SizeOf(recTemp));


...全文
179 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lykemp 2004-07-15
  • 打赏
  • 举报
回复
关注
yxd9 2004-07-07
  • 打赏
  • 举报
回复
结贴, 问题未解决
yxd9 2004-07-03
  • 打赏
  • 举报
回复
不行啊, 只能传 Integer, 不能传 字符 型的, 各位高手有何解决方法, 分数不够可以另家 200
horsefly 2004-06-30
  • 打赏
  • 举报
回复
应该是类型不一致的缘故吧,那你有没有试过
把bye改成shring,如:
Private Type recInfo
intNo As Integer
strName(200) As String
End Type

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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