ServerSocket和ClientSocket的問題 ( 积分: 100 )

  • 主题发起人 主题发起人 jmdx
  • 开始时间 开始时间
J

jmdx

Unregistered / Unconfirmed
GUEST, unregistred user!

clientsocket1.Socket.SendText('a');
clientsocket1.Socket.SendText('b');

ServerSocket.socket.ReceiveText='ab'

我要的結果是(分二次收到socket信息,而不是兩次發送作一次接收)
ServerSocket.socket.ReceiveText='a
ServerSocket.socket.ReceiveText='b'
請問大俠們怎么解決
 

clientsocket1.Socket.SendText('a');
clientsocket1.Socket.SendText('b');

ServerSocket.socket.ReceiveText='ab'

我要的結果是(分二次收到socket信息,而不是兩次發送作一次接收)
ServerSocket.socket.ReceiveText='a
ServerSocket.socket.ReceiveText='b'
請問大俠們怎么解決
 
好像你自己要对数据流进行定义,才能判断出这是两次发送。否则没有办法来判断。
 
readln()是講一行數據,但‘ab’是同一行的呀,我還不如leftstr(text,1);rightstr('text',1), 主要是不一個clientsocket1.Socket.SendText('a');
而是
clientsocket1.Socket.SendText('a');
clientsocket1.Socket.SendText('b');
......
clientsocket1.Socket.SendText('p');
 
clientsocket1.Socket.SendText('a');
Sleep(200);
clientsocket1.Socket.SendText('b');
 
你在发送时可以用分隔符将他们分开如:
clientsocket1.Socket.SendText('a');
clientsocket1.Socket.SendText('|'); //自己定义的分隔符
clientsocket1.Socket.SendText('b');
在接受时再将他们分开。
 
其實"leonwxd","jwei119"說的我都有試過,都可以,而且是我問這個問題之前就已經在用的方法,可是可行性不好,用Sleep(200)時間長度不夠,如加長就會把程序拖慢,不實際。
如是用分解他們在小程序可以,在大程序會搞的很不好控制,如果控制不好會發生很多很難
測出的錯誤,所以我想盡可能不用。我要的目的是分二次接收而不是接收後怎麼處理!
結貼吧!我想沒人有那好辦法達到我的要求。謝謝大家的支持!放分了.
 
抱歉,我水平很低
 
后退
顶部