PBXB64 Netzwerk

TCP & UDP Standard

Vollständiges TCP- und UDP-Netzwerk with TCP OPEN/CLOSE/SEND/RECV/LISTEN/ACCEPT and UDP OPEN/CLOSE/SEND/RECV. Server, Clients bauen, and Peer-to-Peer-Anwendungen. Echte Win32-Socket-API (WSAStartup, socket, bind, listen, accept, send, recv).

TCP-Client & Server

TCP-Client-Beispiel
#COMPILE EXE #DIM ALL FUNCTION PBMAIN() AS LONG LOCAL buffer AS STRING ' Connect to server (host is given after AT, 3 s send/receive timeout) TCP OPEN PORT 8080 AT "192.168.1.1" AS #1 TIMEOUT 3000 ' Send data TCP SEND #1, "Hello Server" ' Receive response (up to 1024 bytes in one call) TCP RECV #1, 1024, buffer PRINT "Server said: "; buffer TCP CLOSE #1 FUNCTION = 0 END FUNCTION

TCP OPEN PORT n AT host AS #1 TIMEOUT ms baut eine Client-Verbindung auf. TCP SEND sendet einen String. TCP RECV #1, count, buf empfängt bis zu count Bytes. TCP CLOSE gibt den Socket frei. TCP LISTEN/ACCEPT für die Serverseite.

UDP - Verbindungslos

UDP senden/empfangen
#COMPILE EXE #DIM ALL FUNCTION PBMAIN() AS LONG LOCAL buffer AS STRING LOCAL peerAddr AS QUAD LOCAL peerPort AS QUAD LOCAL dest AS QUAD ' Open UDP socket bound to local port 5000 (3 s timeout) UDP OPEN PORT 5000 AS #1 TIMEOUT 3000 ' Send to peer: address comes from HOST ADDR, port 5001 HOST ADDR "192.168.1.2" TO dest UDP SEND #1, AT dest, 5001, "Hello UDP!" ' Receive from any peer: sender address and port are returned UDP RECV #1, FROM peerAddr, peerPort, buffer PRINT "Got: "; buffer; " from port "; peerPort UDP CLOSE #1 FUNCTION = 0 END FUNCTION

UDP ist verbindungslos - jeder Sendevorgang gibt Zieladresse und Port an; die gepackte Adresse liefert HOST ADDR. UDP RECV ... FROM addr, port, buf liefert Absenderadresse und Port. Ideal für Discovery, Streaming und leichtgewichtige Protokolle.

HOST ADDR / HOST NAME

DNS-Auflösung
#COMPILE EXE #DIM ALL FUNCTION PBMAIN() AS LONG LOCAL ip AS QUAD ' packed IPv4 value LOCAL name AS STRING HOST ADDR "smart-ai-robot.com" TO ip PRINT "IP: "; (ip AND 255); "."; ((ip \ 256) AND 255); "."; _ ((ip \ 65536) AND 255); "."; ((ip \ 16777216) AND 255) HOST NAME ip TO name ' reverse lookup of the packed address PRINT "Name: "; name HOST NAME TO name ' local computer name PRINT "This computer: "; name FUNCTION = 0 END FUNCTION

HOST ADDR löst einen Hostnamen in eine gepackte IPv4-Adresse auf. HOST NAME liefert den lokalen Hostnamen oder führt bei Angabe einer Adresse eine Rückwärtsauflösung durch. Beide verwenden echte Win32-APIs (gethostbyname/getaddrinfo).

Zurück zur Feature-Liste