回答編集履歴

2

原因と思われるものを先頭に

2020/02/19 08:20

投稿

KOZ6.0
KOZ6.0

スコア2703

test CHANGED
@@ -1,3 +1,27 @@
1
+ # 原因と思われるもの
2
+
3
+ StreamWriter を GC が回収するとき NetworkStream が Dispose されているようです。
4
+
5
+ ```VB
6
+
7
+ Using TX1 As New StreamWriter(Client.GetStream, System.Text.Encoding.Default, 1024, True)
8
+
9
+ TX1.WriteLine(Data)
10
+
11
+ TX1.Flush()
12
+
13
+ End Using
14
+
15
+ ```
16
+
17
+ leaveOpen = True を指定して開いたままにすれば良さそうです。
18
+
19
+
20
+
21
+ # その他
22
+
23
+
24
+
1
25
  クライアント側が切断処理を行うと
2
26
 
3
27
 
@@ -75,23 +99,3 @@
75
99
 
76
100
 
77
101
  マルチスレッドで動作するので排他処理が必要です。
78
-
79
-
80
-
81
- #追記
82
-
83
- StreamWriter が破棄されるとき NetworkStream が Dispose されているようです。
84
-
85
- ```VB
86
-
87
- Using TX1 As New StreamWriter(Client.GetStream, System.Text.Encoding.ASCII, 1024, True)
88
-
89
- TX1.WriteLine(Data)
90
-
91
- TX1.Flush()
92
-
93
- End Using
94
-
95
- ```
96
-
97
- こんな感じにすれば良いかと思います。

1

追記

2020/02/19 08:20

投稿

KOZ6.0
KOZ6.0

スコア2703

test CHANGED
@@ -75,3 +75,23 @@
75
75
 
76
76
 
77
77
  マルチスレッドで動作するので排他処理が必要です。
78
+
79
+
80
+
81
+ #追記
82
+
83
+ StreamWriter が破棄されるとき NetworkStream が Dispose されているようです。
84
+
85
+ ```VB
86
+
87
+ Using TX1 As New StreamWriter(Client.GetStream, System.Text.Encoding.ASCII, 1024, True)
88
+
89
+ TX1.WriteLine(Data)
90
+
91
+ TX1.Flush()
92
+
93
+ End Using
94
+
95
+ ```
96
+
97
+ こんな感じにすれば良いかと思います。