Hey leute, hab mal n bisschen im internet nach einem chat prog gesucht und hab auch was gefunden. mein problem ist aber, dass mein freund nicht auf den server connecten kann. habe firewall mal ausgeschaltet aber er kann trz nicht auf den server connecten.
IP + PORT ist schon richtig eingetragen.
Für mein locales netzwerk benutze ich 127.0.0.1:4000, funz ohne probleme, nur wen mein freund von seinem pc auf meinen server connecten will, findet er keine verbindung! (78.48.**.***:4000)...
hoffe mir kann wer helfen...
Server:
Client:
IP + PORT ist schon richtig eingetragen.
Für mein locales netzwerk benutze ich 127.0.0.1:4000, funz ohne probleme, nur wen mein freund von seinem pc auf meinen server connecten will, findet er keine verbindung! (78.48.**.***:4000)...
hoffe mir kann wer helfen...
Server:
VB.NET-Quellcode
- Imports System.Text
- Imports System.Net.Sockets
- Public Class Form2
- Dim Data As Integer
- Dim Message As String
- Dim TCPL As TcpListener
- Dim TCPC As New TcpClient
- Dim BufferSize(TCPC.ReceiveBufferSize - 1) As Byte
- Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Me.BackgroundWorker1.WorkerReportsProgress = True
- Try
- TCPL = New TcpListener(Net.IPAddress.Any, 4000)
- TCPL.Start()
- 'ListBox1.Items.Add("Waiting for connection...")
- TextBox1.Text &= "Waiting for connection" & vbCrLf
- TCPL.BeginAcceptTcpClient(AddressOf OnConnect, Nothing)
- Catch ex As Exception
- 'ListBox1.Items.Add("Error: " & ex.Message)
- TextBox1.Text &= "Errord: " & ex.Message & vbCrLf
- End Try
- End Sub
- Private Sub OnConnect(ByVal AR As IAsyncResult)
- TCPC = TCPL.EndAcceptTcpClient(AR)
- Me.BackgroundWorker1.RunWorkerAsync("Connection with client has " & _
- "been established!")
- TCPC.GetStream.BeginRead(BufferSize, 0, BufferSize.Length, AddressOf OnRead, _
- Nothing)
- End Sub
- Private Sub OnRead(ByVal AR As IAsyncResult)
- Data = TCPC.GetStream.EndRead(AR)
- Message = Encoding.ASCII.GetString(BufferSize, 0, Data)
- Me.BackgroundWorker1.RunWorkerAsync(Message)
- TCPC.GetStream.BeginRead(BufferSize, 0, BufferSize.Length, AddressOf OnRead, _
- Nothing)
- End Sub
- #Region " Background Worker "
- Private Sub BackgroundWorker1_DoWork(ByVal sender As Object, _
- ByVal e As System.ComponentModel.DoWorkEventArgs) _
- Handles BackgroundWorker1.DoWork
- Me.BackgroundWorker1.ReportProgress(100, e.Argument)
- End Sub
- Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, _
- ByVal e As System.ComponentModel.ProgressChangedEventArgs) _
- Handles BackgroundWorker1.ProgressChanged
- 'ListBox1.Items.Add(e.UserState)
- TextBox1.Text &= e.UserState & vbCrLf
- End Sub
- #End Region
- End Class
Client:
VB.NET-Quellcode
- Dim TCPC As New TcpClient
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- End Sub
- Private Sub OnConnect(ByVal AR As IAsyncResult)
- Try
- TCPC.EndConnect(AR)
- Me.BackgroundWorker1.RunWorkerAsync("Connection with server has " & _
- "been established!")
- Catch ex As Exception
- Me.BackgroundWorker1.RunWorkerAsync("Connection failed: " & ex.Message)
- End Try
- End Sub
- #Region " Background Worker "
- Private Sub BackgroundWorker1_DoWork(ByVal sender As Object, _
- ByVal e As System.ComponentModel.DoWorkEventArgs) _
- Handles BackgroundWorker1.DoWork
- Me.BackgroundWorker1.ReportProgress(100, e.Argument)
- End Sub
- Private Sub BackgroundWorker1_ProgressChanged(ByVal sender As Object, _
- ByVal e As System.ComponentModel.ProgressChangedEventArgs) _
- Handles BackgroundWorker1.ProgressChanged
- 'ListBox1.Items.Add(e.UserState)
- TextBox3.Text &= e.UserState & vbCrLf
- End Sub
- #End Region
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Me.BackgroundWorker1.WorkerReportsProgress = True
- Try
- 'ListBox1.Items.Add("Connecting to sever...")
- TextBox3.Text &= "Conencting to server.." & vbCrLf
- TCPC.BeginConnect(TextBox1.Text, TextBox2.Text, AddressOf OnConnect, Nothing)
- Catch ex As Exception
- 'ListBox1.Items.Add("Server launch was unsuccessful!")
- TextBox3.Text &= "Server launch was unsuccessful!" & vbCrLf
- End Try
- End Sub
- Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
- Form2.show()
- End Sub
- Private Sub TextBox4_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox4.KeyDown
- If e.KeyCode = Keys.Enter And TextBox4.Text <> "" Then
- Dim Writer As New IO.StreamWriter(TCPC.GetStream)
- Writer.Write(TextBox4.Text)
- Writer.Flush()
- Me.BackgroundWorker1.RunWorkerAsync(TextBox4.Text)
- Me.TextBox4.Text = ""
- End If
- End Sub
- End Class