SocketClient发包错误! ( 积分: 100 )

  • 主题发起人 主题发起人 pcspace
  • 开始时间 开始时间
P

pcspace

Unregistered / Unconfirmed
GUEST, unregistred user!
用 SocketClient 向远程服务器发送特定的包(服务器开放端口)
var
MyText:String;

MyText := #0#14#20 ;....
SocketClient.Socket.SendText(MyText);

接收端为什么 在 #0#14#20 之前总是多出11个字符
 
var
MyText:array [0..100] of char;

_Len:=3;
move(string(#0#14#20)[1],MyText,_Len);
SocketClient.Socket.SendBuffer(MyText,_Len);
 
发送类似下面的包

Buf[0]:=$04;
Buf[1]:=$ED;
Buf[2]:=$01;
Buf[3]:=$00;
Buf[4]:=$00;
Buf[5]:=$00;
Buf[6]:=$04;
Buf[7]:=$ED;
Buf[8]:=$01;
Buf[9]:=$00;
Buf[10]:=$00;
Buf[11]:=$00;
Buf[12]:=$04;
Buf[13]:=$ED;
Buf[14]:=$01;
Buf[15]:=$00;
Buf[16]:=$00;
Buf[17]:=$00;
Buf[18]:=$04;
Buf[19]:=$ED;
Buf[20]:=$01;
Buf[21]:=$00;
Buf[22]:=$00;
Buf[23]:=$00;

var
MyText:array [0..100] of char;
i:integer;

i:=24
SocketClient.Socket.SendBuffer(MyText,i);

结果接收端多出来:

1/8/A/0/0/90/AA/0/9/E2/F5/DC/ 这个10几个包 位数固定 包的内容不固定
 
接受端是怎么写的?

接受之前,有没有做一个清空的操作?
 
既然发这样的包,建议试试
MyText:array [0..100] of byte;
 
阻塞还是非阻塞方式
 
后退
顶部