idtcpserver如何接收socket数据?很急,在线等,谢谢!!!!可以加分!有多少给多少!(100)

  • 主题发起人 主题发起人 xounter
  • 开始时间 开始时间
X

xounter

Unregistered / Unconfirmed
GUEST, unregistred user!
主: 我用idtcpserver写了一个服务器程序,接收来自于其他机器的socket数据,现在出现问题,我用telnet端口,后发送数据将,我的程序能够正常处理,但是如果我使用sockettool发送的数据就不行,我只能看到登陆上来,我用的clientip能显示登陆ip,但是接收不到任何信息,时间很紧,请各位大侠帮忙,如何解决??我用的是connection.ioxxxxx.readline,中间的记不清了,内外网不能链接……谢谢!!!!----------------------------------------------
 
这是我的代码,请大家帮忙procedure TForm2.idtcpsrvr1Execute(AContext: TIdContext); var lread,lwrt,s1,s2: string; res,res1:string; i:Integer; Adata:TmemoryStream; begin AData:=TmemoryStream.Create; AContext.Connection.IOHandler.ReadStream(Adata,-1,False); lread:=Adata.ToString; // lread:=AContext.Connection.IOHandler; mmo1.Lines.add(lread); writememo(AContext.Connection.Socket.Binding.PeerIP+'<>接受其发送的数据是:'+lread); if True then begin try sver:=SplitString(lread,'|'); finally end; if sver[8]='0494516' then begin if sver[22]='123456' then begin res1:='00'; res:=''; end else begin res1:='99'; res:='TVR0303'; end; end else begin res1:='99'; res:='TVR0013'; end; writememo(lwrt); for i := 1 to 17 do begin s1:=s1+sver+'|' ; end; for i := 21 to 25 do begin s2:=s2+sver+'|'; end; lwrt:='0210|'+s1+res+'|'+sver[19]+'|'+res1+'|'+s2; mmo1.lines.add(lwrt); // lwrt:='123|13|ctb2426.exe'; AContext.Connection.IOHandler.WriteLn(lwrt); writememo(AContext.Connection.Socket.Binding.PeerIP+'<>向其发送的数据是:'+lwrt); end; end;
 
数据格式不对可以监视下数据包内容。
 
服务端用TcpServer,客户端就用TcpClient客户端用ClientSocket,服务端就用ServerSocket
 

Similar threads

S
回复
0
查看
835
SUNSTONE的Delphi笔记
S
S
回复
0
查看
765
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部