关于winsock收发packet record 的问题(先给50分,向100分以上进军)

newyj 2001-07-26 06:47:57
Tpacket=Packet Record
str:array [0..11] of Char; //一些说明文字
size:integer; //mem的大小
mem:Tmemorystream; //可能是一个文件或语音数据
end;

就是record 的长度不确定;

用socketserver;sockclient 如何收发
先给50分,向100分以上进军


还有 关于指针的问题
主程序里有一个 a:pointer;

线程trd1 里有一个变量 b:pointer;
trd1.create(mm:pointer);
begin
b:=mm;
end;
主程序
tt:Trd1;

tt.create(a);

为何指针传递不进去; 编译没错;一运行就出错


...全文
112 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenm001 2001-09-20
  • 打赏
  • 举报
回复
关于传输结构(我比较习惯C)的传输,需要自己定协议,否则在接收端无法创建长度可变得数据结构。细节可以参考《电脑编程技巧与维护》一书(期号忘了),或与我联系.chenm003@cmmail.com
newyj 2001-07-31
  • 打赏
  • 举报
回复
up
newyj 2001-07-30
  • 打赏
  • 举报
回复
up
newyj 2001-07-29
  • 打赏
  • 举报
回复
up
Kylix_NOW 2001-07-29
  • 打赏
  • 举报
回复
关注
newyj 2001-07-29
  • 打赏
  • 举报
回复
UP帮忙UP 也有分相争
newyj 2001-07-29
  • 打赏
  • 举报
回复
up
wljcr 2001-07-27
  • 打赏
  • 举报
回复
up
newyj 2001-07-27
  • 打赏
  • 举报
回复
yy
dana 2001-07-26
  • 打赏
  • 举报
回复
gz
万年水母 2001-07-26
  • 打赏
  • 举报
回复
我只会线程方面的,估计是你指针指向的东东有问题吧。你线程里一定有地方改动了这个指针里的某个属性之类。

建议在线程override的constructor里加一句 inherited Create( True );
让线程create的时候先不执行,如果没错误,就是你的Execute部份有问题了。

建议看看Thread.Synchronize()的帮助和有关资料。Delphi的VCL都是单线程的,如果改动VCL的属性,一定要用到Synchronize函数。

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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