2017-06-19 16 views
0

Pocoのドキュメントを見ると、SocketのコンストラクタはTimespanをタイムアウトとして受け取ることができますが、WebSocketでそれを行うことが可能かどうかを知りたいのですか?Poco WebSocketコンストラクタにタイムアウトを渡すことはできますか?

私の問題は、接続中にネットワーキングサービスが利用できなくなると、コンストラクタがTimeout例外を返すかスローするまでに1分(デフォルトのタイムアウト値)がかかることです。その周りに道はありませんか?

私はすでに巨大なものを試しました。私はWebSocketをインスタンス化してHTTPClientSession::socket()に到達し、それを操作するために使用されたHTTPClientSessionへの参照を維持することで私の道を辿ったと思っていましたが、残念ながらそのソケットは実際には有効なソケットではありません。 HTTPClientSessionはWebSocketの作成中に一時的な情報として使われているようです。

+1

これまでに試したことを投稿してください。 –

答えて

0

コンストラクタでタイムアウトを設定することはできません。 私はこのコードを使用します。

TimeSpan timespan(10, 0); 
WebSocket ws(request, response); 
ws.setReceiveTimeout(timespan); 
ws.setSendTimeout(timespan); 

のWebSocketへの読み取りまたは書き込み時にそれが私のために動作しますが、接続時に、それを考慮した場合、私は知りません。私はクライアントからの切断/再接続をあまり避けるために、600秒のTimeSpanでそれを使用しました。

関連する問題