mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-16 16:44:05 +00:00
6e01fc8dce
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.
48 lines
No EOL
2 KiB
Text
48 lines
No EOL
2 KiB
Text
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}} |