- 1 名前:デフォルトの名無しさん [2012/10/31(水) 17:05:08.29 ]
- 主にソケットに関しての質疑応答スレッドです。
Programming UNIX Socket FAQ (日本語訳) www.kt.rim.or.jp/~ksk/sock-faq/indexj.html Winsock Programmer's FAQ (日本語訳) www.kt.rim.or.jp/~ksk/wskfaq-ja/ 関連リンクは>>2-10辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port28 toro.2ch.net/test/read.cgi/tech/1334736934/ 関連スレ ネットワークプログラミング雑談 toro.2ch.net/test/read.cgi/tech/1235800707/
- 744 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 15:13:58.52 ID:pYRByoGi]
- >>743
通常はcloseしても送信しきる先に切られることは無いので 別のことが原因と思います
- 745 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 15:38:02.72 ID:8MnQl1Rb]
- >>744
有難う、もう少し探ってみます。
- 746 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 16:35:42.74 ID:ZfdboDuT]
- >>743
>サーバとクライアントでcloseするタイミングを同期する方法はありますでしょうか? クライアントとサーバ上のアプリケーション間通信について、 以下のケースに応じて通信の終了に関する規約(プロトコル)を決める (1) データ送信が必ず一方向のケース(例:パイプ) 送信側は任意にcloseできるが、受信側ではソケットからの 終了通知(データ長=0)を待ってからcloseしなければならない (2) 要求/応答のペアからなるトランザクションが常に同一側で発生するケース(例:HTTP/FTP/SMTP) 要求メッセージ送信側は任意にcloseできるが、応答メッセージ送信側では ソケットからの終了通知(データ長=0)を待ってからcloseしなければならない (3) データ送信要求が任意の時点かつ双方の側で発生するケース 制御メッセージとして通信終了要求(例:"QUIT")と通信終了応答(例:"OK")を定義し、 正常に通信を終了させたい時は終了要求メッセージを送信し応答を待つ 要求を受信した終了受け入れ側では応答メッセージを送信して即座にソケットをcloseする 終了要求側では応答メッセージ受信を確認してからソケットをcloseする (3)のケースは複雑な手順を踏まなければならないのだから、連動テストで問題が発生してから 解決策を悩むのではなく、上流の設計工程でアプリケーション間通信プロトコルの全体を ステートマシンとして形式的に定義し、正当性を検証しておくことが望ましい
- 747 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 16:56:39.59 ID:afR3dkD/]
- >>746にあるとおり、アプリケーションレイヤのプロトコルを決めてないところに問題があると思う
このメッセージを送信したらcloseする、このメッセージを受信したらcloseする、とか mibをダンプするコマンド(nstatとか)でTcpExtTCPAbortOnCloseがインクリメントされてたら、 >>743の推測通り、アプリケーションがメッセージを吸い上げる前にcloseが発行されてると思う
- 748 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 22:16:48.00 ID:oYteh1Pa]
- 無線で電波が途切れた場合とかどうテストしたらいいん?
- 749 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 22:32:20.13 ID:ZfdboDuT]
- >>748
・単体テストであれば、スタブ側で電波途切れのエラーを返す ・有線で組み通信中にケーブルを引き抜き擬似的に現象を起こす ・金属ケースや地下室などの電波を遮蔽できる環境を用意する 頭を使えば、様々なアイデアがでると思うよ
- 750 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 22:39:04.87 ID:D6sqOe5Q]
- >>748
どのレベルのプログラムの話なんだ? ドライバ?ネットワークスタック?アプリケーション?
- 751 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 22:49:51.34 ID:yvNnNrOK]
- >>748
ノートPCを持って電波が途切れる所まで離れてみる 青歯で実際にやったことあるぞww
- 752 名前:デフォルトの名無しさん mailto:sage [2014/06/07(土) 23:30:00.41 ID:1rlrU+oI]
- 相手の電源切ればいいじゃん
|

|