BNetEx Server(BMX) / Client(VB6) TCP
Übersicht

SeroSoftBetreff: BNetEx Server(BMX) / Client(VB6) TCP |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo zusammen,
ich möchte gerne eine TCP-Verbindung zwischen einem BMX-Server und einem VB6 Client herstellen. Folgenden Code habe ich aus dem Forum: Zitat: SuperStrict
Framework vertex.BNetEx Import Brl.StandardIO Import Brl.System Import Brl.LinkedList Global Stream : TTCPStream Global ClientList : TList Global Client : TTCPStream Stream = New TTCPStream stream.init() Stream.SetLocalPort(5900) Stream.Listen() Stream.SetTimeouts(1000,1000,1000) ClientList = CreateList() While (True) Client = Stream.Accept() If Client Then Print( "New Client: ") Print( " - IP: "+TNetwork.StringIP(client.GetLocalIP())) Print( " - Port: "+Client.GetLocalPort()) ClientList.AddLast(Client) EndIf For Client = EachIn ClientList If Client.Eof() = -1 Then Print( "Client has disconnected") Print( " - IP: "+TNetwork.StringIP(Client.GetLocalIP())) ClientList.Remove(Client) Continue EndIf While Not Client.Eof() Print ">"+Client.ReadLine() Wend Next Wend Stream.Close() Mir wurde von mehreren Seiten schon bestätigt, dass der Code eigentlich richtig sein soll. Eine Verbindung wird aufgebaut. Nur wenn ich dann einen String schicke "hallo test" reagiert der Server auf garnix. Hat von Euch vielleicht eine Idee ? Hier mal noch der VB-Code: Zitat: Option Explicit
Private Sub Command2_Click() Dim ServerIP As String ' Die IP-Adresse oder Computer-Name des Servers ServerIP = "127.0.0.1" Winsock1.Protocol = sckTCPProtocol Winsock1.RemoteHost = ServerIP Winsock1.RemotePort = 5900 Winsock1.Connect End Sub Private Sub Command3_Click() Winsock1.Close End Sub Private Sub Form_Load() ' Command1 deaktivieren Command1.Enabled = False End Sub Private Sub Form_Unload(Cancel As Integer) Winsock1.Close End Sub ' Wenn eine direkte Verbindung aufgebaut ist Private Sub Winsock1_Connect() ' Jezt können wir mit dem Button die Nachricht senden Command1.Enabled = True End Sub Private Sub Command1_Click() ' Nachricht an Server senden Winsock1.SendData "hallo test" End Sub ' Wenn die Verbindung geschlossen wird Private Sub Winsock1_Close() ' Ohne Verbindung kann man auch keine ' Nachrichten senden: Button Aus Command1.Enabled = False End Sub MfG Sero |
||
Core2Duo E6600, 8 GB Corsair DDR2 800, Geforce 8800 GTX, Mouse: G5, Keyboard: G15, 2x 400 GB Samsung 16 MB Cache, 16000er T-Com Flat |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
readline würde ich net wetten das das geht
byte für byte auslesen ist hier die devise. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
SeroSoft |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie mach ich das ? | ||
Core2Duo E6600, 8 GB Corsair DDR2 800, Geforce 8800 GTX, Mouse: G5, Keyboard: G15, 2x 400 GB Samsung 16 MB Cache, 16000er T-Com Flat |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jeden Buchstaben als Byte mit ASCII Code schicken. Und an der anderen Seite mit Chr() wieder zu Buchstaben umwandeln. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
SeroSoft |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und dann trotzdem Readline verwenden ? | ||
Core2Duo E6600, 8 GB Corsair DDR2 800, Geforce 8800 GTX, Mouse: G5, Keyboard: G15, 2x 400 GB Samsung 16 MB Cache, 16000er T-Com Flat |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein
ReadByte und alles manuell auslesen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nach Continue ~n EndIf solltest du auch mal Pakete empfangen lassen ^^
Code: [AUSKLAPPEN] If Client.RecvAvail() Then
While Client.RecvMsg() Wend EndIf Ansonsten sehe ich hier ein event. Problem: Code: [AUSKLAPPEN] Winsock1.SendData "hallo test"
Ich vermute einfach mal hier, das nicht automatisch ein Chr(13), Chr(10) oder Chr(13) + Chr(10). Wenn nicht, dann hängst du ein Chr(13) + Chr(10) einfach an "hallo test" an. mfg olli |
||
vertex.dreamfall.at | GitHub |
SeroSoft |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
HAHA,
mich hauts weg es GEHT ! Zitat: SuperStrict
Framework vertex.BNetEx Import Brl.StandardIO Import Brl.System Import Brl.LinkedList Global Stream : TTCPStream Global ClientList : TList Global Client : TTCPStream Stream = New TTCPStream stream.init() Stream.SetLocalPort(5900) Stream.Listen() Stream.SetTimeouts(1000,1000,1000) ClientList = CreateList() While (True) Client = Stream.Accept() If Client Then Print( "New Client: ") Print( " - IP: "+TNetwork.StringIP(client.GetLocalIP())) Print( " - Port: "+Client.GetLocalPort()) ClientList.AddLast(Client) EndIf For Client = EachIn ClientList If Client.Eof() = -1 Then Print( "Client has disconnected") Print( " - IP: "+TNetwork.StringIP(Client.GetLocalIP())) ClientList.Remove(Client) Continue EndIf If Client.RecvAvail() Then While Client.RecvMsg() Wend EndIf While Not Client.Eof() Print ">"+Client.ReadLine() Wend Next Wend Stream.Close() Ohne noch was an meinem VB-Code zu machen es geht ! Danke an alle die mir so hilfreich zur Seite standen. |
||
Core2Duo E6600, 8 GB Corsair DDR2 800, Geforce 8800 GTX, Mouse: G5, Keyboard: G15, 2x 400 GB Samsung 16 MB Cache, 16000er T-Com Flat |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey, wie wärs mal mit einrücken?
Warum macht das eigentlich keiner? Kein wunder das man sofort die Übersicht verliert. ... ... IMurDOOM |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
SeroSoft |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey natürlich rück ich das !
Nach dem Pasten war nur alles in einer Linie. MfG |
||
Core2Duo E6600, 8 GB Corsair DDR2 800, Geforce 8800 GTX, Mouse: G5, Keyboard: G15, 2x 400 GB Samsung 16 MB Cache, 16000er T-Com Flat |
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
SeroSoft hat Folgendes geschrieben: Hey natürlich rück ich das !
Nach dem Pasten war nur alles in einer Linie. MfG Das liegt daran das du den Quote BBCode verwendet hast statt Code ![]() Gruß, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
SeroSoft |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
OHHHHH,
ja jetzt wo du es sagst ![]() Ich gelobe Besserung ! MfG |
||
Core2Duo E6600, 8 GB Corsair DDR2 800, Geforce 8800 GTX, Mouse: G5, Keyboard: G15, 2x 400 GB Samsung 16 MB Cache, 16000er T-Com Flat |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group