|
774RRさん 理解力がなく申し訳ありません。
//データの送受信処理 if (!SLTAlive) // まだ接続待ちスレッドを生成していない場合 {
// Socket の生成 ServerSocket = new System.Net.Sockets.Socket( System.Net.Sockets.AddressFamily.InterNetwork, // IP version 4 のアドレス System.Net.Sockets.SocketType.Stream, // 通信方式をバイトストリーム System.Net.Sockets.ProtocolType.Tcp); // プロトコルをTCP
// ホストのIPアドレスとポート番号の指定 System.Net.IPEndPoint EndPointHost = new System.Net.IPEndPoint(System.Net.IPAddress.Any, 9100);
ServerSocket.Bind(EndPointHost); // ローカル エンドポイント(IPアドレス等の情報)と関連付け ServerSocket.Listen(500); // 電文取り出しの接続がまだ保留中におけるキューの最大長
// 接続待ち用スレッドを作成 ListeningCallbackThread = new System.Threading.Thread(ListeningCallback); // 接続待ち用スレッドを開始 ListeningCallbackThread.Start(); // スレッド終了指示フラグを未終了に設定 SLTAlive = true; }
//******************************************************************** //データの送信(ソケット通信) //SendTextData関数(第1引数:送信相手IPアドレス、第2引数:送信データ) //******************************************************************** private void SendTextData(String receiver, String SendText) { try { System.Net.Sockets.TcpClient client1 = new System.Net.Sockets.TcpClient(); // TCPクライアントを生成 // TCP/IP接続を行う(メインサーバーのIPアドレス指定(メインサーバー内)) if (!client1.ConnectAsync(receiver, 9100).Wait(300)) {
}
// 通信ストリームの取得 System.Net.Sockets.NetworkStream stream2 = client1.GetStream();
// サーバーへ送信 byte[] SendBuffer2 = System.Text.Encoding.Unicode.GetBytes(Convert.ToString(SendText));
stream2.Write(SendBuffer2, 0, SendBuffer2.Length);
stream2.Flush(); // フラッシュ(強制書き出し)
// サーバーからの受信 byte[] ReceiveData2 = new byte[30];
stream2.Read(ReceiveData2, 0, ReceiveData2.Length);
string str2 = System.Text.Encoding.Unicode.GetString(ReceiveData2);
// TCPクライアントをクローズ client1.Close();
} catch {
} }
この辺りの定義?でおかしいところがあったりしますでしょうか。 プログラム自体、全くの未経験者ですいません・・・。
|