【ClientSocket】SendBuf函数发送结构体出错,上代码

对牛乱弹琴 2012-06-12 04:10:14
先定义一个结构体

struct sss
{
int i;
double j;
...//其他的东西,都是一些char类型
char data[2048];
};

一个ClientSocket组件,发送这个结构体

char* cmd = "alskdfjl2k3j4l2k3j4l2asl";//
struct sss mysss;
mysss.i = 1;
mysss.j = 2;
...//其他的东西,都是一些char类型
sprintf(mysss.data, "%s", cmd);

int sendsize = N;//这里我会计算这个结构体的长度,不用怀疑
ClientSocket->Socket->SendBuf((char*)&mysss, sendsize);

服务器代码不写了,及其简单的几行。
问题是:这个是我用BCB写的一个ActiveX,如果直接用IE浏览器调试的话,没有问题,如果注册到VC里调用,则发送不成功;
还有,发送不成功分几种情况:1、如果data长度是128,则没有问题
2、如果data长度是512,发送第一次能接受到,第二次出错
3、如果data长度是1024,第一次接收就失败,接收为空
不知道是什么啊
...全文
100 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LinuxCard 2012-06-14
  • 打赏
  • 举报
回复
关注一下sendbuf函数的返回值,出错的时候,返回值是多少?
realbay 2012-06-13
  • 打赏
  • 举报
回复
关键是接收,你如何确定接收不成功?
一般是先发一个数据长度,或者约定一个数据长度,接收端循环接收,直到达到接收的长度

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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