Das Problem ist, wenn ich meine Öffentliche IP von meinem PC eingebe, kann sich niemand mit dem Server verbinden.
Port ist im Netzwerk auch offen.
Mein Code ist zwar relativ ähnlich zur Vorlage in diesem Post, aber hier:
Port ist im Netzwerk auch offen.
Mein Code ist zwar relativ ähnlich zur Vorlage in diesem Post, aber hier:
Quellcode
- Imports System.Net.Sockets
- Imports System.IO
- Imports System.Net
- Imports System.Windows.Forms
- Module Module1
- Private server As TcpListener
- Private client As New TcpClient
- Private ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 4232)
- Private list As New List(Of Connection)
- Private ScriptReader As Resources.IResourceReader
- Private Script As String
- Private Structure Connection
- Dim stream As NetworkStream
- Dim streamwriter As StreamWriter
- Dim streamreader As StreamReader
- Dim nickname As String
- End Structure
- Private Sub SendToAllClients(ByVal s As String)
- For Each Connection As Connection In list
- Try
- Connection.streamwriter.WriteLine(s)
- Connection.streamwriter.Flush()
- Catch
- End Try
- Next
- End Sub
- Sub Main()
- Console.Title = "Server"
- Call BOT_WRITER.bot_writer()
- Console.WriteLine("Der Server läuft!")
- server = New TcpListener(ipendpoint)
- server.Start()
- While True
- client = server.AcceptTcpClient
- Dim connection As New Connection
- connection.stream = client.GetStream
- connection.streamreader = New StreamReader(connection.stream)
- connection.streamwriter = New StreamWriter(connection.stream)
- connection.nickname = connection.streamreader.ReadLine
- list.Add(connection)
- Call BOT_WRITER.bot_writer()
- Console.WriteLine(connection.nickname & " hat den Server ")
- Dim t As New Threading.Thread(AddressOf ListenToConnection)
- t.Start(connection)
- End While
- End Sub
- Private Sub ListenToConnection(ByVal con As Connection)
- Do
- Try
- Dim msg As String = con.streamreader.ReadLine
- Console.ForegroundColor = ConsoleColor.Green
- Console.Write(" <")
- Console.ForegroundColor = ConsoleColor.Red
- Console.Write(con.nickname)
- Console.ForegroundColor = ConsoleColor.Green
- Console.Write(">")
- Console.ForegroundColor = ConsoleColor.White
- Console.Write(" :> ")
- Console.ForegroundColor = ConsoleColor.Yellow
- Console.Write(msg)
- Console.WriteLine()
- SendToAllClients(con.nickname & " :> " & msg)
- Catch
- list.Remove(con)
- Call BOT_WRITER.bot_writer()
- Console.WriteLine(con.nickname & " hat den Server verlassen.")
- Exit Do
- End Try
- Loop
- End Sub
- End Module