关于Serversocket和Clientsocket通信的问题!(50分)

  • 主题发起人 主题发起人 小虫无限
  • 开始时间 开始时间

小虫无限

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Serversocket和Clientsocket通信发送图片,Serversocket和Clientsocket也已经连接上了,但当server端一发送数据到client端时,就会出现“远程主机强迫关闭一个现有的连接”这个提示信息,百思不得其解,在大富翁里搜索的方法也不能解决,请高手帮忙!!!
 
你把发送和接收的代码贴出来,我帮你看看,肯定是你的代码编写有问题
 
客户端主要程序:
var m:TMemoryStream;
p:Pointer; b,i,j,k:integer; s:string;
begin
m := TMemoryStream.Create;
image1.Picture.Bitmap.SaveToStream( m );//假设有一图象控件

GetMem( p, m.size );
m.Position := 0;
m.Read( p^, m.size );

ClientSocket.Socket.SendBuf( p^, m.size );

FreeMem( p );
m.Free;
end;
服务器端的OnClientRead中:
var p:pointer; m:TMemoryStream;
begin
GetMem( p, Size );
Socket.ReceiveBuf( p^, Size );
m := TMemoryStream.Create;
m.Write( p^, Size );
m.Position := 0;
image1.Picture.Bitmap.LoadFromStream(m);//假设有一图象控件
FreeMem(p);
m.Free;
end;
我是在本机测试的,端口用的是9756。
 
把这两句去了!再试试
FreeMem( p );
m.Free;
 
你贴的代码不是解决问题需要的,
server向client发送时的那个提示信息,是在server端出现的,还是在client端出现的,
你应该贴client端的接收代码。
 
你可以和我qq联系:13773996
 
接受答案了.
 

Similar threads

D
回复
0
查看
744
DelphiTeacher的专栏
D
后退
顶部