魏
魏启明
Unregistered / Unconfirmed
GUEST, unregistred user!
诸位请看我的代码
ServerSocket的发送
ClientSocket的接受
这个代码,在网上看到很多,可是我的机子运行时就是会出错。
同时那个服务器端只要传过一次,就会出现地址错误,无法关闭。但是socket之间还可以响应(连接,断开)
编译环境Win2k,D7,“install packages——>选择Bin下的dclsockets70.bpl”安装的
ClientSocket And ServerSocket
流是内存流,流的内容的正确性是可以保证的,流的大小在1.4M左右,估计将来使用时,流大小在10M以内
ServerSocket的发送
代码:
MemoryStream.Position := 0;
SS.Socket.Connections[0].SendStream(MemoryStream);
ClientSocket的接受
代码:
procedure TForm1.ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);
var
RBuffer: array[0..10000] of byte; {设置接收缓冲区}
RLength: integer;
begin
RLength := socket.ReceiveLength; {读出包长度}
Socket.ReceiveBuf(RBuffer, RLength); {接收数据包并读入缓冲区内}
MStream.Write(RBuffer, RLength); {将数据写入流中}
if MStream.Size >= MSize then {如果流长度大于需接收的字节数,则接收完毕}
//MSize 流的长度,事先由程序取得
begin
MStream.Position := 0;
Image1.Picture.Bitmap.LoadFromStream(MStream);
button2.Caption:=inttostr(MStream.Size);
// MStream.Clear;
// MSize := 0;
end;
end;
这个代码,在网上看到很多,可是我的机子运行时就是会出错。
同时那个服务器端只要传过一次,就会出现地址错误,无法关闭。但是socket之间还可以响应(连接,断开)
编译环境Win2k,D7,“install packages——>选择Bin下的dclsockets70.bpl”安装的
ClientSocket And ServerSocket
流是内存流,流的内容的正确性是可以保证的,流的大小在1.4M左右,估计将来使用时,流大小在10M以内