|
|
#1
|
|||
|
|||
TCP
Здравствуйте, пытаюсь передать строку по TCP, клиент на телефоне, программы написана на B4A, код отправки:
Код:
Sub sock_Connected (Successful As Boolean) If Successful Then ModuleConnected = True AStreams.Initialize(sock.InputStream, sock.OutputStream, "AStreams") If CommandBuff = "" Then AStreams.Write("00".GetBytes("ASCII")) Else AStreams.Write(CommandBuff.GetBytes("ASCII")) CommandBuff = "" End If Else SetModuleOffline End If End Sub Код:
procedure TForm1.TcpServer1Accept(Sender: TObject; ClientSocket: TCustomIpClient); begin ClientSocket.Sendln(ChAll); //отправка строки вида: 11100111 клиенту при его подключению Memo1.Lines.add(ClientSocket.Receiveln()); //получение строки от клиента end; Проблема в том, что от клиента проходят не все команды, в Мемо вижу пропуски: 18 11 12 16 17 23 11 12 14 14 00 Работа клиента B4A на телефоне проверена в работе с другим TCP-сервером, пропусков нет. Пытался использовать TIdTCPServer: Код:
AThread.Connection.Writeln(ChAll); sName := AThread.Connection.ReadLn; ListBox1.Items.Add(sName); Подскажите пожалуйста в чём могут быть причины? |