Hallo liebe Leute,
ich habe da ein Problem mit TcpClient und Socket.
Das ganze soll so ähnlich laufen wie ein Chat-Programm, mit jeweils einem Client am Port - aber auch nur einem, d.h., dass nach dem Ende der Verbindung sich kein anderer mehr anstellen kann. Daher wurde Listen schon auf 0 gesetzt. Das Problem besteht aber weiterhin. Momentan wird ein Teststring übermittelt und am Server in einer Textbox angezeigt.
Also nach dem Motto:
Server macht Port 8000 auf und wartet auf Verbindung
Client1 verbindet sich und übermittelt Nachrichten und diese werden angezeigt
Client2 klopft an, kann aber momentan nicht übermitteln (wenn ers dennoch versucht wird aber alles gespeichert)
Client1 trennt Verbindung + alle Daten welche Client2 gesendet hat werden sichtbar
Daher die Frage: Wie kann ich eine maximale Anzahl an Verbindungen für diesen Socket einstellen?
MaxConnections steht zwar in der MSDN, gibts aber nicht:
Danke schonmal.
MfG Calvin
ich habe da ein Problem mit TcpClient und Socket.
Das ganze soll so ähnlich laufen wie ein Chat-Programm, mit jeweils einem Client am Port - aber auch nur einem, d.h., dass nach dem Ende der Verbindung sich kein anderer mehr anstellen kann. Daher wurde Listen schon auf 0 gesetzt. Das Problem besteht aber weiterhin. Momentan wird ein Teststring übermittelt und am Server in einer Textbox angezeigt.
Also nach dem Motto:
Server macht Port 8000 auf und wartet auf Verbindung
Client1 verbindet sich und übermittelt Nachrichten und diese werden angezeigt
Client2 klopft an, kann aber momentan nicht übermitteln (wenn ers dennoch versucht wird aber alles gespeichert)
Client1 trennt Verbindung + alle Daten welche Client2 gesendet hat werden sichtbar
Code:
zum Verbinden:
Dim oServerSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP)
Dim oClientSocket As Socket
Dim oIPAddress As IPAddress
If (oIPAddress Is Nothing) Then
Dim ipHost As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName())
oIPAddress = ipHost.AddressList(0)
nPort = 8000
End If
Dim localEP As New IPEndPoint(oIPAddress, nPort)
oServerSocket.Bind(localEP)
oServerSocket.Listen(0)
zum Empfangen:
oClientSocket = oServerSocket.Accept
Empfang ....
zum Trenen:
oClientSocket.Blocking = False
If Not (oServerSocket Is Nothing) Then oServerSocket.Listen(0)
'Server schließen
If Not (oServerSocket Is Nothing) Then
If oServerSocket.Connected Then oServerSocket.Disconnect(False)
oServerSocket.Close(5)
oServerSocket = Nothing
End If
Daher die Frage: Wie kann ich eine maximale Anzahl an Verbindungen für diesen Socket einstellen?
MaxConnections steht zwar in der MSDN, gibts aber nicht:
Wird nicht unterstützt. Löst bei Verwendung eine SocketException aus.
Danke schonmal.
MfG Calvin
Zuletzt bearbeitet: