マルチスレッドのクライアントサーバーチャットアプリケーションを作成し、複数のクライアントでアプリケーションをテストしたいと思います。ランダムなポートとIPを作成するシミュレーターをクライアント側で作成することを計画しています。つまり、クライアントシステムは複数のポートで実行する必要があります(複数回実行する必要はありません)。
クライアントクラスのクライアントIPとポート番号を与えるコードの部分を見つけようとしましたが、理解できませんでした。サーバーのIPとポートを提供する部分だけを見つけました。
これは私の接続確立部分です
private void cmdConnect_Click(object sender, System.EventArgs e)
{
try
{
//create a new client socket ...
m_socWorker = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
String szIPSelected = txtIPAddress.Text;
String szPort = txtPort.Text;
int alPort = System.Convert.ToInt16 (szPort,10);
System.Net.IPAddress remoteIPAddress = System.Net.IPAddress.Parse(szIPSelected);
System.Net.IPEndPoint remoteEndPoint = new System.Net.IPEndPoint(remoteIPAddress, alPort);
m_socWorker.Connect(remoteEndPoint);
}
catch (System.Net.Sockets.SocketException se)
{
MessageBox.Show ( se.Message );
}
}
と私のデータ送信部分
private void cmdSendData_Click(object sender, System.EventArgs e)
{
try
{
Object objData = txtData.Text;
byte[] byData = System.Text.Encoding.ASCII.GetBytes(objData.ToString ());
m_socWorker.Send (byData);
}
catch(System.Net.Sockets.SocketException se)
{
MessageBox.Show (se.Message );
}
}