小声问一个简单的问题,解决立刻给分!!!

wyh2002 2003-10-09 05:39:56
我用VC写了一个简单的服务器程序,用Delphi写的客户端.
在VC中用来接收数据的结构体是:
typedef struct tagMESSAGE
{
CStirng strMsg;
int iType;
unsigned int iSocket;
} MESSAGE;
在Delphi中有一个记录保存要发送的数据:
type
tagMessage = record
sendbuf: string;
iType: integer;
iSocket: integer;
end;
请问在服务器端能正确接收到客户端发送来的数据吗?如果不行的话,该如何处理?
谢谢!
...全文
30 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
studyingpersons 2003-10-10
  • 打赏
  • 举报
回复
学习
flagfly 2003-10-10
  • 打赏
  • 举报
回复
没错,是字节对齐问题。你可以看一个vc中你定义的结构,其中CString只是一个地址,指向别的地方,根本就不保存实际数据。delphi不熟不敢妄言。
建议不要传结构,尤其在不同语言之间。数据流是最安全的。
try876 2003-10-09
  • 打赏
  • 举报
回复
结构体里最好要有数据长度信息
mfc168 2003-10-09
  • 打赏
  • 举报
回复
还有字节对齐的问题,你查看一下在VC中的 sizeof(your struct) 和在delphi中的结构大小是否一致……
Mi_Bo 2003-10-09
  • 打赏
  • 举报
回复
学习
oknight 2003-10-09
  • 打赏
  • 举报
回复
结构体里面不要用CString,必须用定长的数据类型,换成char数组即可
wyh2002 2003-10-09
  • 打赏
  • 举报
回复
VC用了CAsyncSocket类,Delphi是直接用Winsock的API函数,但是接收到的数据是错误的,为什么?
fupinger 2003-10-09
  • 打赏
  • 举报
回复
SOCKET是基于TCP/IP的,肯定没问题。当然你的网络/局域网必须是畅通的。
mfc168 2003-10-09
  • 打赏
  • 举报
回复
数据发送接收是通过SOCKET吗?如果是,只要符合基本协议,就可以实现

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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