Clientsocket发送的源代码
procedure TForm1.Button1Click(Sender: TObject);
var
strData: string;
mysend: array[0..65535] of Char;
begin
strData := Edit2.Text;
StrPCopy(mysend,strData);
ClientSocket1.Socket.SendBuf(mysend, SizeOf(strData)+1024);
end;
Serversocket接收的源代码
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;Socket: TCustomWinSocket);
var
strData: Pchar;
buf: Pchar;
len: integer;
begin
len := Socket.ReceiveLength+1024;
buf :=allocmem(len);
Socket.ReceiveBuf(buf^,len);
StrCopy(strData,buf);
Edit3.Text:=strData;
end;有几个问题:
问题1:当接收的长度超过44之后就出错..
例如:
Edit2.Text:=Edit222222222222222222222222222222222222222 就接收正常.
Edit2.Text:=Edit2222222222222222222222222222222222222222 .就出错,服务器端提示为:asynchronous socket error 10053.问题2:Serversocket接收之后,我如何把接收到的buf 存到数据库的一个image的字段中去.问题3:我这代码写得有什么不合理之处吗?
procedure TForm1.Button1Click(Sender: TObject);
var
strData: string;
mysend: array[0..65535] of Char;
begin
strData := Edit2.Text;
StrPCopy(mysend,strData);
ClientSocket1.Socket.SendBuf(mysend, SizeOf(strData)+1024);
end;
Serversocket接收的源代码
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;Socket: TCustomWinSocket);
var
strData: Pchar;
buf: Pchar;
len: integer;
begin
len := Socket.ReceiveLength+1024;
buf :=allocmem(len);
Socket.ReceiveBuf(buf^,len);
StrCopy(strData,buf);
Edit3.Text:=strData;
end;有几个问题:
问题1:当接收的长度超过44之后就出错..
例如:
Edit2.Text:=Edit222222222222222222222222222222222222222 就接收正常.
Edit2.Text:=Edit2222222222222222222222222222222222222222 .就出错,服务器端提示为:asynchronous socket error 10053.问题2:Serversocket接收之后,我如何把接收到的buf 存到数据库的一个image的字段中去.问题3:我这代码写得有什么不合理之处吗?
解决方案 »
- DELPHI7.0如何判断串口接收到的数据
- 一个Delphi的问题
- 根据窗口句柄,如何对在其内部定义的Record类型的变量进行编程?高手作答!!!老急了!!!!!!!!!
- 开机按键是怎么做的
- [考题]如何用过程(procedure)具有函数的返回值功能
- clientdataset.GetNextPacket 得到的是重復包
- 在edit中输入电子邮件如何判断他的合法性?
- vc++编的DLL,delphi 怎么样调用????急!!!!!!!!!!!!!!!!!!!
- 100分!各位大哥救命!query+dbgrideh在我开发用的机子上一切正常,而到别的机子上却提取不出数据
- 如何在LISTBOX里画出不同的图标?
- 如何快速 统计 一个文本文件中 某个指定字符 出现的个数 ?
- 报表问题
var
Stream:TMemoryStream; Stream:=TMemoryStream.Create;
Stream.Write(buf,len);
Stream.Position:=0;
TBlobField(qr.FieldByName('img')).LoadFromStream(Stream);
Stream.Free;
用setlength()吗?好像不行喔....
pChar类型,怎么能setlength.....GetMem