整个大富翁论坛没有一个高手吗? ( 积分: 100 )

  • 主题发起人 主题发起人 6713827
  • 开始时间 开始时间
6

6713827

Unregistered / Unconfirmed
GUEST, unregistred user!
type
TSendMonitor = packed record //远程监视
MyRect: TRect; //屏幕方向和坐标移位值
BufLen:Integer;
Buf:array[0..512000] of Byte;
end;
TSendMonitors = packed record //远程监视命令包
head: THead;
body: TSendMonitor;
end;
SOCKET发送这么大的数据,怕吃不消,但是保存到内存流,每次发送都出错!
不想使用INDY,那位大哥能给一个好的方案啊!
试过分包发送,但是程序出现错误,SERVER好像地址错误然后自动关闭!
希望高手大哥门给个方案,最好源码!
 
整个大富翁论坛没有一个高手吗?
 
用什么方法实现无所谓吧
www.2ccc.com
上肯定有你要的源程序[:D]
 
你水平太次了,高手帮不了你。

我对你的建议就是, 分包
 
如此狂妄的小子,懒得回答...这程序你觉得很难吗????大富翁高手如云,记住以后说话客气点..........白河愁提出的分包你考虑下
 
这个帖子以前可能会激起很多富翁争当高手.

现在随着年龄的增长,以前的高手已经升级到另外一个层次了"不肖"用回帖来证明什么,提出这种问题的家伙,不过是连google都懒得点一下的家伙.
 
晕,还是分包,大哥们,不好意思啊,心急不骂骂高手们都不出来!哈哈!
 
只能分包,你读过TCP相关协议就知道为什么。
 
procedure TForm1.ServerClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
buffer: array[0..2096] of byte; //数据包
bufferSize: Integer; //数据包
head: THead; //包头
Mou: TMouse;
Pri: TPriority;
Mon: TMonitor;
Key: TKey;
SendMon: TSendMonitor;
Buf: PByte;
BufLen: Integer;
begin
case .. of
..
BufLen := 0;
while BufLen < SendMon.BufLen do begin
bufferSize := 0;
Socket.ReceiveBuf(Buf, bufferSize);
//MyStream.WriteBuffer(Buf, bufferSize);
Memo1.Lines.Add(inttostr(BufLen) + '/' + inttostr(SendMon.BufLen));
BufLen := BufLen + bufferSize;
sleep(10);
end;
..
end;
end;





BufLen := 0;
while BufLen < MyStream.Size do begin
If MyStream.Size-BufLen<2048 Then SendLen:=MyStream.Size-BufLen
Else SendLen:=2048;
MyStream.Position := BufLen;
MyStream.ReadBuffer(Buf, SendLen);
Form2.Client.Socket.SendBuf(Buf, SendLen);
Inc(BufLen, SendLen);
end;
 
那位大哥知道我错在那里了吗?
 
Buf 定义成了PByte,但没有分配空间
 
100 整个大富翁论坛没有一个高手吗? 6713827 11/131 htw 2007-08-14 08:49:41
100 小问题,大家来看看啊. 6713827 7/74 6713827 2007-07-11 23:11:29
100 神啊,救救我吧! 6713827 2/59 songrun 2007-05-14 19:55:40
100 高手都回家过年了吗?怎么没看见一个人啊?怎么收不到消息啊? 6713827 4/67 newsmile 2007-02-10 21:23:29
10 大哥们帮帮忙!简单问题!! 6713827 6/73 6713827 2006-09-24 11:30:21
17 救救我吧,关于Procedure和property 6713827 4/83 6713827 2006-08-18 16:01:52
50 我的程序那里有错??? 6713827 2/85 6713827 2006-05-10 01:50:51
 
你要干撒,大哥!
 
那为大哥知道TMemoryStream一次性写入>12800字节,提示内存错误!
<12800字节数据就没有任何问题!
这个需要怎么处理啊!
 
知错是个好孩子。
你去DELPHI盒子网站找一个屏幕之类的例子便有很大收获。
 
后退
顶部