解決済みの質問「TCP/IPでソケットが突然切断されてしまうのはなぜでしょうか?」に関係するので,追加で質問します.
【実現したいこと】
シミュレータ6個とクライアントPC兼サーバPCの受信タスク(A.exe)が6個のソケットを接続しているのですが,突然ソケットが「LISTENING」と「SYNSEND」状態になります.
シミュレータとクライアントPC兼サーバPCがポート番号「11111」,「11112」,「11113」,11114」,「11115」,「11116」で接続しているときに,「11112」が「LISTENING」と「SYNSEND」状態になっているソケットを切断したいのですが,同じプロセス内のソケットが切断確立していないソケットの接続切断方法が分からなくて困っています.
netstatのオプションで特定のポート番号を切断できたりできるのでしょうか?ご教授お願いいたします.
【試したこと】
・「netstat -aobp tcp」でプロセスIDとプロセス名を表示後,「tasklist /svc」でA.exeのプロセスIDをkillすると6つの全ソケットが切断されてブザーが鳴動することは確認しました.
【試験環境】
サーバPC(シミュレータ6個起動)-----クライアントPC兼サーバPC-----クライアントPC2
|--クライアントPC3
【各装置の補足情報】
・シミュレータ(機能):画面表示PC(クライアントPC)に画面情報を送信する.画面表示PCからはアンサー情報を受信する.画面情報の送信およびアンサー情報の受信が成功の場合,シミュレータ画面上に接続成功を示す緑●(接続成功),画面情報の送信またはアンサー情報の受信が失敗の場合,赤●(接続失敗)を表示する.
・クライアントPC兼サーバPC(機能):シミュレータから情報を受信し画面表示する.受信した情報が正常ならば,アンサー情報をシミュレータに送信する.シミュレータから情報を受信している間,クライアントPCにシミュレータから受信した情報を送信する.
・クライアントPC(機能):クライアントPC兼サーバPC(機能)が送信する情報を受信して,受信情報が正常ならば画面表示する.
クライアントPC兼サーバPCとクライアントPCは,同じソフトで,iniファイルで起動するタスクを分けています.タスクは全部で4つ(Main.exeとA.exe,Server.exe,Client.exe)あり,クライアントPC兼サーバPCのときは,Main.exe(画面表示用)とA.exe(シミュレータからの受信用),Server.exe(クライアントPCに送信用)が起動します.クライアントPCのときはMain.exe(画面表示用)とClient.exe(クライアントPC兼サーバPCからの受信用)が起動します.

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/29 13:08