VB 5/6-Tipp 0379: Chat mit mehreren Clients mittels Winsock
von Christoph Burdeska
Beschreibung
Diese kleine Beispiel zur Erstellung eines Chatprogramms mit mehreren Clients baut auf dem Tutorial "Das Winsock-Control" auf.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------ Anfang Projektdatei MultiChat.vbp ------------ ' Die Komponente ' (mswinsck.ocx)' wird benötigt. ' Die Komponente 'Microsoft Rich Textbox Control 6.0 (richtx32.ocx)' wird benötigt. ' Die Komponente 'Microsoft Windows Common Controls 6.0 (SP6) (MSCOMCTL.OCX)' wird benötigt. '---------- Anfang Formular "Chat" alias Chat.frm ---------- ' Steuerelement: Windows Socket "WinSock" (Index von 0 bis 0) ' Steuerelement: Rahmensteuerelement "frmData" ' Steuerelement: Textfeld "txtPort" auf frmData ' Steuerelement: Textfeld "txtHostIP" auf frmData ' Steuerelement: Textfeld "txtNick" auf frmData ' Steuerelement: Beschriftungsfeld "lblPort" auf frmData ' Steuerelement: Beschriftungsfeld "lblHost" auf frmData ' Steuerelement: Beschriftungsfeld "lblNick" auf frmData ' Steuerelement: Schaltfläche "cmdSend" ' Steuerelement: Statusbar "stBar" ' Steuerelement: RichTextBox "rftReceive" ' Steuerelement: RichTextBox "rtfSend" ' Steuerelement: Rahmensteuerelement "frmActAs" ' Steuerelement: Schaltfläche "cmdGo" auf frmActAs ' Steuerelement: Schaltfläche "cmdClient" auf frmActAs ' Steuerelement: Schaltfläche "cmdServer" auf frmActAs ' Dieses Beispiel ist ein kleiner Chat ohne großes Protokoll. ' Um dies zu realisieren muß man einfach das WinSock Control ' mit dem Index 0 versehen und schon hat man eine Collection ' aus dem Winsock gemacht. ' Des Weiteren handelt es sich um ein Programm, dass sowohl den ' Server oder den Client machen kann, einfach nur den ' entsprechenden Knopf drücken, chatten kann man in beiden Modi. Option Explicit Dim boolServer As Boolean Private Sub cmdClient_Click() ' Als Client identifizieren und die Möglichkeiten vorgeben boolServer = False cmdServer.Enabled = False cmdClient.Enabled = False cmdGo.Enabled = True End Sub Private Sub cmdGo_Click() Dim I As Integer ' Loge ich mich gerade ein ? If cmdGo.Caption = "Go" Then ' Erst mal die Einstellungen eifrieren txtNick.Enabled = False txtHostIP.Enabled = False txtPort.Enabled = False cmdGo.Caption = "Stop" ' Bin ich Server ? If boolServer = True Then WinSock(0).LocalPort = txtPort.Text WinSock(0).Listen stBar.SimpleText = "Status: Listening" Else WinSock(0).RemotePort = txtPort.Text WinSock(0).RemoteHost = txtHostIP.Text WinSock(0).Connect stBar.SimpleText = "Status: Connecting to " & txtHostIP.Text & ":" & txtPort.Text End If ' Ich logge mich gerade aus Else ' Bin ich Server ? If boolServer = True Then ' Erst mal alle Verbindungen schließen und unnötige WinSocks entladen For I = 1 To WinSock.Count - 1 WinSock(I).Close Unload WinSock(I) Next I Else WinSock(0).Close End If ' Jetzt wieder alles in den Urzustand versetzen txtNick.Enabled = True txtPort.Enabled = True txtHostIP.Enabled = True cmdGo.Caption = "Go" cmdGo.Enabled = False cmdClient.Enabled = True cmdServer.Enabled = True stBar.SimpleText = "Status: Offline" End If End Sub Private Sub cmdSend_Click() Dim strMessage As String strMessage = "{" & txtNick.Text & "}:" & rtfSend.Text ' Bin ich Server If boolServer = True Then SendMessage strMessage rftReceive.Text = rftReceive.Text & vbCrLf & strMessage Else If WinSock(0).State = 7 Then WinSock(0).SendData strMessage End If rtfSend.Text = "" End Sub Private Sub cmdServer_Click() ' Erst mal die Buttons ändern cmdClient.Enabled = False cmdGo.Enabled = True cmdServer.Enabled = False ' Jetzt bin ich Server boolServer = True End Sub Private Sub WinSock_Close(Index As Integer) If Index = "0" Then stBar.SimpleText = "Status: Offline" Else stBar = "Status: Verbunden mit " & WinSock.Count - 1 & " Client(s)." End If End Sub Private Sub WinSock_Connect(Index As Integer) ' Jetzt soll man ja wissen, daß man drinnen ist stBar.SimpleText = "Status: Connected to " & txtHostIP.Text & ":" & txtPort.Text End Sub Private Sub WinSock_ConnectionRequest(Index As Integer, ByVal requestID As Long) ' Ein neues WinSock laden und die Verbindung übernehmen lassen Dim intZähler As Integer intZähler = WinSock.Count Load WinSock(intZähler) WinSock(intZähler).LocalPort = txtPort.Text WinSock(intZähler).Accept requestID stBar.SimpleText = "Status: Verbunden mit " & WinSock.Count - 1 & " Client(s)." End Sub Private Sub WinSock_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim strMessage As String ' Nachricht holen WinSock(Index).GetData strMessage ' Bin ich der Server? Dann weiterleiten If boolServer = True Then SendMessage strMessage ' Ich mags auch sehen rftReceive.Text = rftReceive.Text & vbCrLf & strMessage End Sub Private Sub SendMessage(Message As String) Dim I As Integer ' Weiterleiten an die anderen clients For I = 1 To WinSock.Count - 1 ' Erst mal schauen ob die Verbindung steht If WinSock(I).State = 7 Then WinSock(I).SendData Message Next I End Sub Private Sub WinSock_Error(Index As Integer, ByVal Number As Integer, _ Description As String, ByVal Scode As Long, ByVal Source As String, _ ByVal HelpFile As String, ByVal HelpContext As Long, _ CancelDisplay As Boolean) If Index < 0 Then WinSock(Index).Close Unload WinSock(Index) rftReceive.Text = rftReceive.Text & vbCrLf & _ "{System}: Verbindung zu einem Host abgebrochen." Else WinSock(Index).Close rftReceive.Text = rftReceive.Text & vbCrLf & _ "{System}: Dich hats gerade gegrillt." cmdServer.Enabled = True cmdClient.Enabled = True cmdGo.Caption = "Go" cmdGo.Enabled = False stBar.SimpleText = "Status: Offline wegen Verbindungsproblem." End If End Sub '----------- Ende Formular "Chat" alias Chat.frm ----------- '------------- Ende Projektdatei MultiChat.vbp -------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 45 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von riccle am 19.02.2011 um 17:46
Hallo,
beim erstellen der .exe bzw. dem Veröffentlichen bekomme ich folgende Fehlermeldung:
Das Projekt konnte nicht erstellt werden!
Die Methode '~' für das Objekt '~' ist fehlgeschlagen
Vielleicht hat jemand eine Idee.
Grüße riccle!
Kommentar von yannick am 29.12.2009 um 23:53
da ist noch ein fehler im selben bereich:
1 Private Sub WinSock_Close(Index As Integer)
2 If Index = "0" Then
3 stBar.SimpleText = "Status: Offline"
4 Else
5 Unload WinSock(Index)
6 stBar = "Status: Verbunden mit " & WinSock.Count - 1 & " Client(s)."
7 End If
8 End Sub
In der Zeile 6 wird versucht, die Statusbar auf "Status: Verbunden mit " & WinSock.Count - 1 & " Client(s)." zu setzen, aber es muss ja der Statusbartext gesetzt werden.
1 Private Sub WinSock_Close(Index As Integer)
2 If Index = "0" Then
3 stBar.SimpleText = "Status: Offline"
4 Else
5 Unload WinSock(Index)
6 stBar.SimpleText = "Status: Verbunden mit " & WinSock.Count - 1 & " Client(s)."
7 End If
8 End Sub
Kommentar von explo1t am 21.08.2006 um 23:43
Private Sub WinSock_Close(Index As Integer)
If Index = "0" Then
stBar.SimpleText = "Status: Offline"
Else
stBar = "Status: Verbunden mit " & WinSock.Count - 1 & " " & _
"Client(s)."
End If
End Sub
#################
in dem bereich ist ein kleiner "fehler" nach dem ausloggen einzelner clients wird am server immernoch die maximale anzahl von eingeloggten clients angezeigt. da stehen je nachdem auch 4 wenn nur noch 1ner drauf ist.
zu beheben ist das mit folgender zeile. im unteren else bereich
Private Sub WinSock_Close(Index As Integer)
If Index = "0" Then
stBar.SimpleText = "Status: Offline"
Else
'########################
Unload Winsock(Index)
'########################
stBar = "Status: Verbunden mit " & WinSock.Count - 1 & " " & _
"Client(s)."
End If
End Sub
ansonsten sehr netter tipp ;) hat mir selbst gut geholfen für n anderes projekt.
Kommentar von Tobias am 08.08.2006 um 18:38
Hi klappt dieser tipp auch über das internet? Bei mir klappt es nur über mein Netzwerk!
Kommentar von Sanitoeter No1 am 03.04.2006 um 16:30
Kann man nicht einfach einen der PCs als Server benutzen? Oder wie in der Kommandozeile: net send <netzwerknamen> <nachricht>?
Kommentar von Mr. Samuraner am 02.03.2006 um 21:12
Hi @ All
Ich habe folgendes Problem:
Ich habe ein Netzwerk mit 25 Rechnern.
Ich mache den Server.
Und 3 andere Wählen sich mit dem gleichen Port bei mir ein!
Aber ich kann nur mit dem letzten der sich eingewählt hat Chatten, obwohl in der statusleiste steht das man mir 3 Clients verbunden ist.
Die anderen können schreiben und abschicken, aber sie selbst sehen nicht was sie schreiben und bekommen auch keine Nachricht.
Wo liegt das Problem, kann mir jemand helfen?
Bittttttteeeeeeee!!!
Kommentar von Uli Hecht am 30.01.2006 um 15:12
Das mit dem Server ist mein Problem.
Wir haben zum Beispiel 3 Rechner im Netz. Wenn ich meinen PC als Server für mein Chat Programm verwenden würde, könnten die restlichen zwei nur schreiben, wenn mein PC an ist.
@Denis: Ein Steuerelement das RTF Dateien anzeigen kann, oder man kann auch selbst formatierten Text darauf anzeigen. Klick auf Projekt -> Komponenten. Aktiviere "Microsoft Rich Textbox Control" um es zu verwenden.
Kommentar von GundeCK am 23.08.2005 um 13:03
Hallo !
Erstmal Lob für diesen Code !
Habe einige Fragen zu dem Umgang mit dem Chat.
Und zwar möchte ich mit diesem Chat mit jemandem chatten,
der ebenfalls einen Internet-Anschluß hat, jedoch genauso
wie ich sich innerhalb eines lokalen Netzwerkes befindet.
Folgende Probleme sehe ich:
Woher weiß ich die IP-Adresse, die ich zum chatten mit
meinem Gegenüber verwenden muß, bzw. wie kann er sich mit
mir verbinden ? Da er in einem lokalen Netzwerk ist, so
wie ich, sind unsere IP-Adressen jeweils ungefähr
192.168.0.1 und somit würde man ja immer versuchen im
eigenen Netzwerk zuzugreifen. Muß ich eventuell die IP-
Adresse vom jeweiligen Netzwerk-Server verwenden ? Ich habe
leider mit der Programmierung von WinSock nicht viel
Erfahrung und bitte darum um Hilfe.
Danke
GundeCK
Kommentar von mm am 08.05.2005 um 12:51
ja
Kommentar von Denis am 30.03.2005 um 10:53
hi,
wollte frage was RichTextBox heißen soll?
Was ist das für ein Steuerelement?
Danke
Denis
Kommentar von Amlor am 28.12.2004 um 13:01
Hi Folks
Das Beispiel funktioniert bei mir super.. hab aber ein Problem.. so bald ich von VB eine Verbindung nach Java aufbauen will (oder umgekehrt.. von Java nach VB) dann bekomm ich zwar ein Connect noch hin, aber das Versenden von Nachrichten klappt nicht.. hat da jemand nähere Infos zu.. die Java Socket soll ja auf die WinSock aufgebaut sein, von daher kann der Fehler ja nicht all zu weit her sein..
so long
Amlor
Kommentar von God'sfriend am 29.04.2004 um 17:57
Des geht net. Fehler beim laden.
Kommentar von MastaDJ am 12.01.2004 um 14:08
zitat:
Hi, ich habe dieses Tutorial mal als Anleitung genommen um eine eigenes Chatprogramm zu schreiben.
Allerdings kann ich in der Winsock_DataArrival - Sub den Parameter Index nicht hinzufügen, ich bekomme jedesmal die Meldung: "Deklaration der Prozedur entspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mit demselben Namen"
Weiß irgendjemand was ich machen kann?
Liegt das vielleicht an einer zu alten oder zu neuen mswinsck.ocx? Wenn das der Fall ist bitte ich jemanden mir eine funktionierende zuzuschicken.
Danke im Vorraus, trombi
Zitat ende:
Ja genau das selbe Problem habe ich auch aber nur bei der Winsock_Close (Index As Integer).
Noch keine Lösung gefunden?
Kommentar von Jonas am 21.11.2003 um 22:11
An TheME: Du musst, glaube ich, mindestens die Professional Edition haben, um das Winsock Control verwenden zu können, aber ich kann mir irren.
Wenn das Control allerdings mal funktioniert hat, kann es sein, das du deine Lizenzinformationen irgenwie gelöscht hast, frag mich jetzt aber bloß nicht, wo du die herkriegst.
Kommentar von Refizul am 13.11.2003 um 09:36
zu Raiko Meinhardt: rein theoretisch geht es auch ohne :p nur dann müsstest du immer noch irgendwo im netz ne resource haben, die dir die ip adressen aller ! clients bereitstellt... so das jeder client quasi als server/client funktioniert. wird daher zu umfangreich ;)
der server übernimmt die aufgabe des datenaustausches zwischen den clients, und dient als "globale" vermittlungsstelle... d.h. alle clients connecten auf diesen einen server, und der übermittelt an alle verbundenen clients die nachrichten.
Kommentar von Raiko Meinhardt am 28.10.2003 um 11:04
Ich habe eine Frage ist zum Programmieren eines Chattes mit win Sock ein Server nötig?? und wenn ja welche aufgabe hat er???
Kommentar von Andreas Müller am 31.08.2003 um 10:48
Hallo,
ich habe den CHat so Programmiert wie es oben steht. Nur wie kann ich die Client anzeige Aktualiesieren?
Wie kann ich Clients kicken oder bannen?
(Dies sollte nur vom Server aus möglich sein)
Wie kann ich einen Log schreiben lassen?
Bitte schreibt mir eine E-Mail an andreas@andreas-trier.de
Wenn ihr mir helfen könnt.
THX
Kommentar von Mustafa Kemmer am 21.05.2003 um 19:13
Können sie mir einen helfs beispiel zu log daten schreiben und an meinen E-Adresse schicken danke
Kommentar von TheME am 08.03.2003 um 19:19
Ich habe ein Problem mit dem Winsock: Ich kann es nicht in mein Projekt einbauen. Ich erhalte jedes mal, wenn ich es hineinziehen will eine Fehlermeldung. Da steht dann, dass ich nicht die nötige Lizenz habe! Was ist denn la los??
Kommentar von trombi am 21.02.2003 um 15:18
Hallo d00s, natürlich geht das auch übers Internet, TCP/IP heisst ja nicht umsonst Transmission Control Protocol/INTERNET Protocol :)
Ob das auch per UDP geht weiß ich nicht, aber eigentlich gibt es auch garkeinen Grund das Programm über UDP laufen zu lassen, da TCP ja eh funktioniert.
Kommentar von D00s am 20.02.2003 um 21:28
Hey Leutz!
Habe eine sehr wichtige frage:
Das ist jetzt ein TCP/IP verbindungsaufbau!
Und das geht auch über das internet ?
Dann hab ich noch eine Frage, wenn ich das mit UDP Packeten mache, geht das dann auch über das internet, bei mir hat es nicht geklappt???
Was kann ich da machen, oder weiß wer wo ich etwas finde mit UDP?
mfg d00s
Kommentar von trombi am 19.02.2003 um 17:03
Hi, ich habe dieses Tutorial mal als Anleitung genommen um eine eigenes Chatprogramm zu schreiben.
Allerdings kann ich in der Winsock_DataArrival - Sub den Parameter Index nicht hinzufügen, ich bekomme jedesmal die Meldung: "Deklaration der Prozedur entspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mit demselben Namen"
Weiß irgendjemand was ich machen kann?
Liegt das vielleicht an einer zu alten oder zu neuen mswinsck.ocx? Wenn das der Fall ist bitte ich jemanden mir eine funktionierende zuzuschicken.
Danke im Vorraus, trombi
Kommentar von M@xximizer am 04.12.2002 um 15:24
Zu Sohail vom 24.10.2002,10:34
Um formatierten Text zu senden, muss beim Senden anstatt von [strMessage = "{" & txtNick.Text & "}:" & rtfSend.Text]
die Eigenschaft '.TextRTF' benutzt werden, also:
'strMessage = "{" & txtNick.Text & "}:" & rtfSend.TextRTF' !
Es versteht sich von selbst, dass auch beim Empfänger 'rftReceive.Text = rftReceive.Text & vbCrLf & strMessage' die neue Eigenschaft ('.TextRTF') verwendet werden muss!
ZeeYaa
M@xximizer
Kommentar von B|ackCat am 29.10.2002 um 17:44
Hi, ich hab grad einen ähnlcihen chat programmiert und dabei herausgefunden das in der SendMessage sub vor derm Next i ein "DoEvents" fehlt, da der text amsonsten nur an den letzten client geschickt wird... wollte das nur für die ewigkeit festhalten damit ihr euch ned wundert warum der tip oben ned klappt
Kommentar von Sohail am 24.10.2002 um 10:34
Hi,
Weiss hier jemand, wie ich auch Formatierten Text via Winsock übertragen kann?
Danke
Sohail
Kommentar von ByteBuster am 18.10.2002 um 11:53
Hi @ all, bei mir geht folgendes nicht:
Sub oder function nicht definiert dann ist Winsock(0)... markiert als wenn er den index nicht erkennen würde, woran liegt das?
Kommentar von FREEZER am 12.08.2002 um 23:56
Hy Leutz.
Ich programmiere nicht lange VB, daher habe ich ein Problem mit diesem Programm. Bei mir funztes einfach nicht.
Könntet ih mir das Projekt mal posten?
Dann könnte ich kontrollieren was ich falsch gemacht habe......
Danke schon im voraus auch wenn es nicht möglich wäre...
Kommentar von Maxi am 09.08.2002 um 18:12
Hey Fenir!
Du hast doch da am 29.06.2002 ein Kommentar abgegeben.
Da wollt ich dich genauer fragen, wie du das ohne mehreren Ports hinkriegst?
Da bei mir, wenn ich das zweite mal einen Client anpinge, ich die Meldung bekomme: "Invalid operation at current state"
Hier zeigt er dann auf die Stelle:
WinSock(0).LocalPort = txtPort.Text
Könntest du mir also ein Beispiel geben, wie du es gemacht hast (eventuell mit Code-Beispiel) ?
Im Voraus vielen Dank für deine Mühe!
Maxi
Kommentar von rayman am 31.07.2002 um 00:18
Hey Stephan, das ist theoretisch schon möglich, aber ich halte das für ein wenig kompliziert. Es wäre einfacher, du benutzt den Verpackungs- und Weitergabeassitenten um ein Setup zu erstellen und baust dort die mswinsck.ocx mit rein. das funktioniert dann meines erachtens auch zuferlässiger, weil das proggi gar nicht erst auf die idee kommen kann weger der fehlenden winsock abzustürzen.
Kommentar von Stephan Fischer am 27.07.2002 um 23:28
Naja ich progge gerade ain ein Server und wollte Fragen ob es Möglich ist die mswinsck.ocx als Rescoure in das Programm einzubinden, die dann bei "Nicht vorhanden" sofort in Windows/System Ordner reinkopiert wird?
thx
MfG Stephan
Kommentar von Anunnaki am 09.07.2002 um 18:04
Hi Leute!
Hab da auch n'Problemchen. Immer wenn sich jemand ausloggt, bleibt er beim Server als aktiver Client registriert. Geht also jemand 10 mal raus und wieder rein stehen da 10 Clients. Wie kann ich das aktualisieren? Danke schon mal im Vorraus.
Ein Unwissender
Kommentar von Fenir am 29.06.2002 um 13:26
Was laberst du fürn Müll Jan?
Der Server listened zB auf Port 3000. Dann kommt ne Verbindung vom Clienten rein und man lädt ne neue Winsock-Instanz und lässt die neue Instanz die Verbindung akzeptieren. Wenn die Verbindung einmal angenommen wurde, ist der Port wieder frei für weitere Verbindung. Die Clienten kann man anschliessend über die einzelnen WinSock-Instanzen ansprechen.
Man braucht also nicht Port 3000...3001...usw.
Einzig und allein ein Array wäre nicht schlecht, in welchem protokolliert wird, welche Winsock-Instanzen Verbindungen haben. Darüber kann man dann eine Schleife laufen lassen die über alle WSockInstanzen mit Verbindung ein SendData macht.
Kommentar von Jan am 27.06.2002 um 13:50
Der Server kann mit einem Port nicht Funktionieren!!!!
Ihr müsstet einen festen Start Port festlegen z.B. 3000 über den sich der Client beim Server einloggt.
Wenn der Server an diesem Port ne Massage bekommt dann schaut er in nem Vector (dynamisches Array) nach welches der nächste freie Port ist (kann ja nummerisch sortiert sein 3001 bis 3...)
diesen Wert z.B. beim ersten Clienten 3001
schickt ihr über den Port 3000 an den Client.
Der Server läd nen neuen Winsock und stellt ihn mit dem Port 3001 ( Ja gerade selbst von ihm gesendet) auf Listen.
Jetzt hat der Client über den Port 3000 ne Meldung bekommen und speichert sie zwischen
dann schließt er den Winsocket und baut ne neue Verbindung über den Port 3001 auf.
Der Port ist nur für ihn ( da der nächste Client ja 3002 bekommen würde.
Ps. Es kann ja sein das sich zwei Clienten fast gleichzeitig über den Port 3000 ihre Log Daten holen wollen also müsst ihr ne Schleife einbauen(beim Client) die dieses in bestimmten Zeitintervallen wiederholt z.B. alle 2 sec Dazu ist die Api sleep ganz gut (verbraucht kein CPU)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliSeconds As Long)
schlafe für 2 sec = Sleep (2000)
(Tipp zu Timer auf AktivVB)
nochwas zum Vector
Ihr müsst den vektor regelmäßig warten d.h. Wenn sich jemand ausloggt den Eintrag(Port XXXX) löschen und das Array neu sortieren.
(Tipp zu Datenstrukturen auf AktivVB [Qucksort nur cpoy and paste)
Beim rausgeben der Ports sollte man immer den nächsten freien Port verteilen
es kann ja sein das port 3001 und dann erst 3004 vergeben ist, also sollte trotz dem Port 3002 vergeben werden
Gruß Jan
Kommentar von vb star am 01.05.2002 um 20:24
tjo server sollte man schon öffnen
Kommentar von dieBetzie am 24.11.2001 um 01:24
Der Chat kann gar nicht richtig funktionieren, da diw Winsock Control gar nicht auf einem Port listened (winsock1.listen). Ich hab woanders einen Funktionierenden Chat gefunden.
Kommentar von Steffen am 22.11.2001 um 12:33
Hallo,
auch bekomme die Fehlermeldung "Verbindung absichtlich verweigert" .
Gibt es wo möglich Probleme mit der mswinsck.ocx aus dem ServicePack 5 für VB ??
Thx CU
Kommentar von Ralf Hilden am 15.11.2001 um 12:03
Hallo,
ich doktere schon seit einigen Tagen an diesem Problem herum.
Ich bekomme bei dem Beispiel ebenfalls die Fehlermeldung "Verbindung absichtlich verweigert" Daraufhin habe ich das Beispiel von der VB 6 Hilfe ausprobiert und bekomme bei der Eingabe von Text folgende Fehlermeldung "Falsches Protokoll,...." TCP/IP ist aber auf beiden Rechnern installiert. Wer kann mir helfe, ich bin verzweifelt !!
Kommentar von Gnog am 11.10.2001 um 14:10
Danke!
Kommentar von Martin Straube am 05.10.2001 um 19:56
Hi Gnog ...
Probier im KeyPress-Event der Textbox folgendes ...
in dem If-Block von If KeyAscii = 13 And Connected Then
noch folgendes mit rein
KeyAscii = 0
dann ist das Geräusch wech ;)
Kommentar von Gnog am 29.09.2001 um 14:43
Hallo!
Danke erstmal für den "Tip", funktioniert echt super! hab jedoch noch ne frage: Bei mir gibt es immer so ein nerviges "ping" wenn ich die Enter-taste drücke, kann man das abstellen?
Danke schonmal fürs lesen
Gnog
Kommentar von Hilfesuchender am 02.09.2001 um 18:45
Sorry , habe mittlerweile ne neue mail adresse!
erz2001@web.de
Kommentar von Hilfesuchender am 02.09.2001 um 12:24
Also: " ... mehr als 2... Hierzu müßte dann die Winsock des Servers als Array ausgelegt werden." was genau soll gemacht werden?
Wäre nett wenn sich einer melden würde, thx
Kommentar von Tom Feld am 04.07.2001 um 10:52
hi
Es kommt immer dieselbe Fehlermeldung:
Verbindung absichtlich
unterbrochen,
-es kommt kein chatbetrieb zustande.
Kommentar von Goetz Reinecke am 15.06.2001 um 23:20
Tach Dummbazz, klappt über jedes TCP-taugliche Netzwerk, also auch Internet. Als Server brauchst Due keine IP, als Client die IP mit der der Server im Netz identifiziert wird. Du findest hier 3 Tips um solche IPs zu ermitteln.
Grüße
Götz
Kommentar von Dummbazz am 15.06.2001 um 19:37
Hallihallo!
Geht das auch über Internet? Was brauche ich da für eine IP?
Cu!