85 lines
1.8 KiB
VB.net
85 lines
1.8 KiB
VB.net
Imports System
|
|
Imports System.Diagnostics
|
|
Imports System.Net.Sockets
|
|
Imports System.Threading
|
|
|
|
Friend Class Relay
|
|
|
|
Private Shared thread As Threading.Thread
|
|
Private Shared thread2 As Threading.Thread
|
|
Public Sub method_0(tcpClient_2 As TcpClient, tcpClient_3 As TcpClient)
|
|
|
|
tcpClient_0 = tcpClient_2
|
|
tcpClient_1 = tcpClient_3
|
|
|
|
networkStream_0 = tcpClient_2.GetStream()
|
|
networkStream_1 = tcpClient_3.GetStream()
|
|
|
|
thread = New Thread(AddressOf method_1)
|
|
thread2 = New Thread(AddressOf method_2)
|
|
|
|
thread.Start()
|
|
thread2.Start()
|
|
|
|
End Sub
|
|
Public Shared Sub Close()
|
|
Try
|
|
thread?.Abort()
|
|
thread2?.Abort()
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Private Sub method_1()
|
|
Try
|
|
Dim array As Byte() = New Byte(24576) {}
|
|
While True
|
|
Dim num As Integer = networkStream_0.Read(array, 0, array.Length)
|
|
If num = 0 Then
|
|
Exit While
|
|
End If
|
|
networkStream_1.Write(array, 0, num)
|
|
networkStream_1.Flush()
|
|
End While
|
|
networkStream_0.Close()
|
|
tcpClient_0.Close()
|
|
tcpClient_1.Close()
|
|
networkStream_1.Close()
|
|
Catch ex As Exception
|
|
tcpClient_0.Close()
|
|
tcpClient_1.Close()
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub method_2()
|
|
Try
|
|
Dim array As Byte() = New Byte(24576) {}
|
|
While True
|
|
Dim num As Integer = networkStream_1.Read(array, 0, array.Length)
|
|
If num = 0 Then
|
|
Exit While
|
|
End If
|
|
networkStream_0.Write(array, 0, num)
|
|
networkStream_0.Flush()
|
|
End While
|
|
networkStream_0.Close()
|
|
tcpClient_0.Close()
|
|
tcpClient_1.Close()
|
|
networkStream_1.Close()
|
|
Catch ex As Exception
|
|
tcpClient_0.Close()
|
|
tcpClient_1.Close()
|
|
End Try
|
|
End Sub
|
|
|
|
Private tcpClient_0 As TcpClient
|
|
|
|
Private tcpClient_1 As TcpClient
|
|
|
|
Private networkStream_0 As NetworkStream
|
|
|
|
Private networkStream_1 As NetworkStream
|
|
|
|
End Class
|