Netzwerk Funktionen wie verwenden?

Previous topic - Next topic

CptnRoughnight

Hi dudes,
habe folgendes Problem, wenn ich z.B. Das Netzwerkbeispiel kompilieren will (dieses mit sever/Client Funktion) und das testen möchte hängen sich sowohl Server als auch Client auf,dies passiert unter Vista32Bit und XP32Bit gleichermaßen, Firewall und alles ist aus!
Hoffe auf Hilfe!
MfG

CptnRoughnight

so sry,
Code (glbasic) Select
// --------------------------------- //
// Project: Tcp
// Start: Monday, January 26, 2009
// IDE Version: 6.143




// better for debugging
SYSTEMPOINTER TRUE
AUTOPAUSE FALSE

PRINT "(H)ost or (J)oin?", 0,0
SHOWSCREEN
WHILE TRUE
IF KEY(35)
Server()
ENDIF

IF KEY(36)
Client()
ENDIF
WEND



// Server - accept conenctions and print what client says
FUNCTION Server:
LOCAL sock_sv%
LOCAL clients%[]
// Init Network
SOCK_INIT()

// listen to a port for incomming connections
sock_sv% = SOCK_TCPLISTEN(9992)

output("sock_sv: "+sock_sv%); ShowIt()

// Main server loop
WHILE TRUE
LOCAL rv%, ip%
// accept connections from outside to the port we're listening
rv% = SOCK_TCPACCEPT(sock_sv%, ip%)

// Aye, someone connected
IF rv>=0
// Store client socket for interaction
DIMPUSH clients%[], rv%
output("Client connected")
ENDIF

// loop all clients
FOREACH csock% IN clients%[]
LOCAL msg$
// try to get a message with maximum length=1024 bytes
rv% = SOCK_RECV(csock%, msg$, 1024)

// rv = 0 -> client disconnected
IF rv% = 0
output("Client disconnected")
// close invalid socket
SOCK_CLOSE(csock%)
// remove from array
DELETE csock%
ENDIF

// wow, something useful was sent
IF rv>0
output("Msg: " +msg$)
ENDIF
NEXT
ShowIt()
WEND
ENDFUNCTION


// a Client program - input a string, then send it to the server
FUNCTION Client:
LOCAL sock_cl%, rv%, msg$
// initialize network
SOCK_INIT()

// connect to server IP + port (here on same local machine)
sock_cl = SOCK_TCPCONNECT("", 9992)

// client main loop
WHILE TRUE
msg$ = ""

// Get a message
PRINT "Send: ",0,400
INPUT msg$, 0,420

// send it to the server
rv% = SOCK_TCPSEND(sock_cv, msg$)
WEND
ENDFUNCTION



// add a text line to a queue
FUNCTION output: text$
GLOBAL stack$[]
LOCAL lines$[]
SPLITSTR(text$, lines$[], "\n")

FOREACH l$ IN lines$[]
DIMPUSH stack$[], l$
NEXT
WHILE LEN(stack$[]) > 32
DIMDEL stack$[], 0
WEND
ENDFUNCTION

// show queued texts
FUNCTION ShowIt:
LOCAL y
LOCAL fx, fy
GETFONTSIZE fx,fy

FOREACH line$ IN stack$[]
PRINT line$, 0, y
INC y, fy
NEXT
SHOWSCREEN
ENDFUNCTION


Hier ist der Code, es ist das Beispiel TCP.gbas, wenn ich jetzt mit 2 Rechnern im Netzwerk ausprobiere hängen sich beide auf (keine Firewall,kein Inet), auf einer Maschine (mit 127.0.0.1) ebenso.... weiß nicht was ich falsch mache

MfG

mangoo

Hm bei mir klappt das Beispiel ohne Probleme, ka was es noch sein könnte. Hast du die Premium Version? Also glbasic gekauft? In der kostenlosen ist ja irgenwas beschränkt mit NET Funktionen.

Kitty Hello


CptnRoughnight

hI,
naja Premium hab ich net, ich hab 2D&NET-Version, wollte hauptsächlich für meinen WIZ proggen und da dieser jetzt WLAN hat wollte ich mal bissi was mit Netzwerkfunktionen machen, aber es haut einfach nicht hin... ja hab die aktuelle Version drauf... MfG

Kitty Hello

wirklich seltsam. Firewall mal gecheckt?