C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

コネクション状態が切れてしまう。

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■93827 / inTopicNo.1)  コネクション状態が切れてしまう。
  
□投稿者/ 困った人 (1回)-(2020/02/07(Fri) 20:37:42)

分類:[VB.NET/VB2005 以降] 

環境は、
Visual Basic 2010 Pro
Windows10 Pro
です。

''' <summary>TCPクライアント</summary>
Private _objTCPClient As New TcpClient
''' <summary>ソケットストリーム</summary>
Private _objNetworkStream As NetworkStream


''' <summary>TCPクライアントプロパティ</summary>
Private Property TCPClient As Net.Sockets.TcpClient
Get
Return Me._objTCPClient
End Get
Set(ByVal value As Net.Sockets.TcpClient)
Me._objTCPClient = value
End Set
End Property
''' <summary>ソケットストリームプロパティ</summary>
Private Property NetworkStream As Net.Sockets.NetworkStream
Get
Return Me._objNetworkStream
End Get
Set(ByVal value As Net.Sockets.NetworkStream)
Me._objNetworkStream = value
End Set
End Property

''' <summary>接続</summary>
Public Sub Connect()

Try
'接続状態の確認
If Me.Connected = True Then
'いったん閉じる
Disconnect()
End If
'TCP送信開始
Me.TCPClient = New Net.Sockets.TcpClient()
Me.TCPClient.Connect(Me.SOCKETOUT_IPADDRESS.ToString, Me.SOCKETOUT_PORTNUMBER)
'ソケットストリームを開く
Me.NetworkStream = Me.TCPClient.GetStream()


'接続状態
Me.Connected = Me.TCPClient.Connected

'接続できない場合
Catch ex As SocketException

'エラー出力
clsError.DispError(ex)
End Try

End Sub

''' <summary>接続</summary>
Public Sub Connect()

Try
'接続状態の確認
If Me.Connected = True Then
'いったん閉じる
Disconnect()
End If
'TCP送信開始
Me.TCPClient = New Net.Sockets.TcpClient()
Me.TCPClient.Connect(Me.SOCKETOUT_IPADDRESS.ToString, Me.SOCKETOUT_PORTNUMBER)
'ソケットストリームを開く
Me.NetworkStream = Me.TCPClient.GetStream()


'接続状態
Me.Connected = Me.TCPClient.Connected

'接続できない場合
Catch ex As SocketException

'エラー出力
clsError.DispError(ex)
End Try

End Sub

''' <summary>送信</summary>
Public Sub SendData(ByVal StrSendData As String)

Dim dat As Byte()
StrSendData="abc"

Try
'英語または、日本語
If gintLanguage = 0 Or gintLanguage = 1 Then
dat = System.Text.Encoding.GetEncoding(932).GetBytes(StrSendData) 'S-JISの場合
Else
dat = System.Text.Encoding.UTF8.GetBytes(StrSendData) 'UTF8の場合
End If
' ソケット送信
Me.NetworkStream.Write(dat, 0, dat.GetLength(0))

'送信できない場合
Catch ex As SocketException

'エラー出力
clsError.DispError(ex)
End Try

End Sub

仕事のプログラムなのですべては、見せられないのですが

Me.NetworkStream.WriteのNetworkStream及び Me.TCPClient tについて接続成功、データ送信は、できるですがたまにVisial Basic2010 の画面を最小化するとnothingになって送れなくなる
または、サーバー側のテストプログラムで送信データのリスト表示をClearするとNetworkStream及びTCPClientの値がnothingになります。
どのような理由が該当するでしょうか?
以上、ご教示いただきたく思います。

引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ