Specifications
Chapter 18. TCP/IP
455
■ UDP client program (non-connection type)
(Example)
’****************************************
’ Data Section *
’****************************************
DIM RECVBUFF$[255] ’Receive data buffer
DIM SENDBUFF$[255] ’Send data buffer
DIM IPADDRESS$[15] ’IP address
DIM R.SOCKSET$[41] ’Read socket ID set
DIM W.SOCKSET$[41] ’Write socket ID set
DIM E.SOCKSET$[41] ’Exception socket ID set
’************************************************
’ Sample subroutine for UDP client *
’************************************************
UDPCLIENT:
’Create send data
FOR I%=0 TO 254 STEP 1
SENDBUFF$[I%] = CHR$(I%)
NEXT I%
’Create TCP socket <-----Equivalent to BSD4.4 socket API () function
FAMILY% = 2 ’Internet protocol
TYPE% = 2 ’Stream socket
PROTOCOL% = 17 ’UDP protocol
CALL "SOCKET.FN3" .fcSocket FAMILY%, TYPE%, PROTOCOL%, SOCKFD%
’Convert IP address <----- Equivalent to BSD4.4 socket API inet_addr() function
IPADDRESS$ = "192.100.100.001" ’Specify server IP address
CALL "SOCKET.FN3" .fcINetAdr IPADDRESS$, ADDRESS
’Transmit data <----- Equivalent to BSD4.4 socket API sendto() function
SENDLEN% = 255
SENDMODE% = 0
PORT% = 120
CALL "SOCKET.FN3" .fcSendto SOCKFD%, SENDBUFF$, SENDLEN%, SENDMODE%, FAMILY%,
PORT%, ADDRESS, SENDSIZE%
’Initialize socket identifier set
’<----- Equivalent to BSD4.4 socket API FD_ZERO macro
CALL "SOCKET.FN3" .fcFDZERO R.SOCKSET$ ’Initialize read socket identifier set
CALL "SOCKET.FN3" .fcFDZERO W.SOCKSET$ ’Initialize write socket identifier
’set
CALL "SOCKET.FN3" .fcFDZERO E.SOCKSET$ ’Initialize exception socket
’identifier set