1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-26 08:35:52 +00:00
QB64-PE/internal/help/GET_(TCP%2FIP_statement).txt
SMcNeill 6e01fc8dce Altered string compare routines (<,<=,>,>=) so they don't give false results with CHR$(0).
Added new _STRCMP and _STRICMP commands for quick string comparisons.
Cleaned up QB64 to finish removing the QUI (quick user insert) code and folders.
Altered UCASE and LCASE routines to be faster in some situations for us.
2014-09-22 08:19:03 -04:00

48 lines
2 KiB
Plaintext

GET (in regard to TCP/IP) reads unformatted(raw) data from an open connection, opened with [[_OPENCLIENT]], [[_OPENHOST]] or [[_OPENCONNECTION]] '''QB64''' functions.
{{PageSyntax}}
::::::::''Syntax 1:'' GET #handle, ,b$
*Reads any available data into variable length string b$ (b$'s length is adjusted to the number of bytes read, so checking EOF is completely unnecessary) using the handle return value from the function used.
::::::::''Syntax 2:'' GET #handle, ,x%
*Reads an integer, if 2 bytes are available, they are read into x%, if not then nothing is read and EOF(handle) will return -1 (and x%'s value will be undefined) using the handle return value from the function used.
:::::'''Communicating using unformatted/raw streamed data:'''
* Benefit: Communicate with any TCP/IP compatible protocol (eg. FTP, HTTP, web-pages, etc)
* Disadvantage: Streamed data has no 'message length' as such, just a continuous bunch of bytes all in a row. Some messages get fragmented and parts of messages can (and often do) arrive at different times.
* The position parameter(between the commas) is not used in TCP/IP statements.
:::::'''Your program MUST cater for these situations manually.'''
''Example:''
{{CodeStart}}
{{Cl|PUT|PUT #}}c, , a$ ' sends data
{{Cl|GET|GET #}}o, , b$ ' reads any available data into variable length string b$
{{Cl|GET|GET #}}o, , x% ' if 2 bytes are available, they are read into x%
{{CodeEnd}}
''Explanation:''
* Data could be a string, variable array, user defined [[TYPE]], etc.
* b$'s length is adjusted to the number of bytes read. Checking [[EOF]](o) is unnecessary.
* If 2 bytes are not available for the x% integer then nothing is read and [[EOF]](o) will return -1
''See the examples in [[_OPENCLIENT]] or [[Email Demo]].''
''See also:''
* [[PUT (TCP/IP statement)]], [[INPUT (TCP/IP statement)]]
* [[_OPENCLIENT]], [[_OPENHOST]]
* [[_OPENCONNECTION]], [[GET|GET #]]
* [[IP Configuration]], [[WGET]] (HTTP and FTP file transfer)
{{PageNavigation}}