Posted on 2008-07-19 21:49
xyz 阅读(4151)
评论(0) 编辑 收藏 引用 所属分类:
Delphi
最近在编写一个游戏的脱机客户端,发现使用Socket.SendBuf发送时,总是会出现部分内容发送不出去。
通过搜索,终于找到原因所在。
原来在调用Socket.SendBuf(buf,count)后,立即freeMem(buf),造成socket还没来得及把buf发送完,就被free掉了。
因此把要发送的buf定义成全局变量,再程序开始创建,并在程序结束后释放。