Move(s[1], buf, Length(s));
Result := SOCKET_ERROR <> WinSock2.send(skt, buf, Length(s), 0);
SocketTimeout.tv_sec := Timeout div 1000;
SocketTimeout.tv_usec := 1000 * (Timeout mod 1000);
SocketSet.fd_count := 1;
SocketSet.fd_array[0] := skt;
if (WinSock2.Select(0, @SocketSet, nil, nil, @SocketTimeout) > 0) then
begin
l := WinSock2.recv(skt, buf, 1024, MSG_PEEK); //默認是阻塞,也就是同步
SetString(Result, buf, l);
end
我希望能同步讀出server回傳的資料,不行。而通過捕捉fd_onread(異步),是可以的,有知道的嗎?我對socket模型不熟悉,謝謝。
Synapse庫也不行,大部分是沒問題的。
有點傷腦筋,server在本機上。
send(),第四個引數
uj5u.com熱心網友回復:
用datasnap的人路過uj5u.com熱心網友回復:
不要timeout,用sleepuj5u.com熱心網友回復:
你用除錯工具確定有資料回傳轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/130924.html
標籤:網絡通信/分布式開發
上一篇:播放音頻及圖片滾動問題
