
ソケット通信で、接続してきた
クライアント(TcpClient tempclient)から、
NetworkStream,StreamReader,StreamWriterなどを
作っています。
Class A
while(true){
tcpclient=server.AcceptClient();
networkstream=tcpclient.getStream();
streamreder=new StreamReader(networkstream...);
mythread=new Mythread(tcpclient);
//
networkstream.close()
streamreader.close()
//これらを加えると、下の、/* */でエラーになります。
}
MyThread B
{
Public Mythread(TcpCLient tcpclient){
/*
ns=tcpclient.Getstream
sr=...
*/
}
このクライアントを、別のスレッドで使うため、
mythread=new MyThread(tcpclient)などとして、
別のクラスにもっていき、
そこでも、新たに、NetworkStream,StreamReaderを
作ったとします。
この場合、1つのクライアントにつき、2つの
ストリームができるのでしょうか。
経験上、ストリームを作成するコードは
問題なく動きます。
しかし、新たにストリームを得たので、古いのを
クローズすると、エラーになります。
新たに作ったストリームは、実は、古いストリームを、
使いまわしていることになるのでしょうか。
少し、分かりづらいかもしれませんが、
何か分かる人がいましたら、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
具体的にどんなクラスを使っているのかよく分かりませんが、常識的な実装をしているならストリームをクローズするときには対応するソケットを破棄しているでしょう。
ストリームをクローズせずに廃棄(delete)すると上手くいくかもしれませんが、デストラクタがクローズすることも考えられるので上手くいく保証はありません。使っているストリームクラスにソケットとの関係を切断する機能が実装されていれば良いですが、そうでなければソケットとストリームは一対一で使うことが前提になると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- Wi-Fi・無線LAN 「無線LAN親機(4ストリーム)」「無線LAN中継機(2ストリーム)」の組み合わせは大丈夫ですか? 3 2023/07/28 19:10
- ルーター・ネットワーク機器 無線LAN親機の電波強度について 8 2023/08/18 18:57
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- その他(スマートフォン・携帯電話・VR) 5GとWiFiについて 6 2022/06/20 05:13
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Cにおける通信プログラミングの...
-
TCP/IP通信時のサーバーからの受信
-
送信したデータの一部が文字化...
-
UDPの接続って?
-
ソケットのrecvの戻り値が0
-
socketプログラミングについて
-
エクセル VBA でのCOMポート...
-
VB6のwinsockでconnectできない
-
JAVAでソケット通信(クライア...
-
Socket通信の0バイト受信について
-
ソケット通信 同じポート番号...
-
Javascritpでソケット通信?
-
【ajax】 XMLHttpRequestオブジ...
-
UDP/IPでのソケット作成につい...
-
closeされたsocketへの動作につ...
-
Connectエラーが出てしまう・・...
-
C#とTCP/IPを利用したサーバー...
-
ソケット通信
-
ソケットのクローズについて
-
UDP通信におけるbind関数について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
UDP通信におけるbind関数について
-
Winsockで接続待ちタイムアウト...
-
UDP通信する時に、相手にどうや...
-
エクセル VBA でのCOMポート...
-
Socket通信の0バイト受信について
-
VB6のwinsockでconnectできない
-
ソケットでクライアントのipア...
-
ソケットを用いた1対多通信につ...
-
ソケットのクローズについて
-
ソケットのrecvの戻り値が0
-
UdpClient 送信元のIPアドレ...
-
相手のIPアドレスを取得する方法
-
recv関数でフリーズしてしまう
-
closeされたsocketへの動作につ...
-
送信したデータの一部が文字化...
-
UDP通信(SNMP)したいが、うま...
-
ソケット通信
-
Connectエラーが出てしまう・・...
-
WinSockでの通信プログラムがう...
おすすめ情報