Rapid-Q Documentation by William Yu (c)1999-2000 | Appendix A: QSOCKET |
|
Field | Type | R/W | Default | Support |
|
|
|
|
|
Family | INTEGER | RW | AF_INET | W |
Family specifies the address family. | ||||
LParam | INTEGER | RW | FD_CONNECT | W |
LParam specifies the message to capture when you set WMessage and handle the message processing by assigning a new WndProc to your form. | ||||
MySocket | INTEGER | R | WXG | |
MySocket stores the result of operations such as Open. So instead of using the return value of Open, you can use the property MySocket. | ||||
Parent | QFORM | W | W | |
Protocol | INTEGER | RW | IPPROTO_IP | W |
Tag | INTEGER | RW | WXG | |
Transferred | INTEGER | R | WXG | |
Type | INTEGER | RW | SOCK_STREAM | W |
WMessage | INTEGER | RW | 0 | W |
WMessage specifies a user defined message to be passed to your form for non-blocking calls, ie. Connecting. |
Method | Type | Description | Params | Support |
|
|
|
|
|
Accept | FUNCTION ClientSock%(Socket%) | Accepts Client Connection | 1 | WXG |
Close | SUB (Socket%) | Closes Socket% file descriptor | 1 | WXG |
Connect | FUNCTION Sock%(ServerName$, PortNum%) | Connect to server on PortNum% | 2 | WXG |
ConnectionReady | FUNCTION Bool%(Sock%) | True/False if connection pending | 1 | WXG |
GetHostIP | FUNCTION AS STRING | Returns host IP Address | 0 | WXG |
GetHostName | FUNCTION AS STRING | Returns host name | 0 | WXG |
GetPeerName | FUNCTION GetPeerName$(Socket%) | Returns peer name | 1 | WXG |
IsClientReady | FUNCTION Bool%(Sock%, ClientSock%) | True/False if client is sending data | 2 | WXG |
IsServerReady | FUNCTION Bool%(Sock%) | True/False if server is sending data | 1 | WXG |
Open | FUNCTION Sock%(PortNum%) | Open TCP server on PortNum% | 1 | WXG |
Peek | FUNCTION Peek$(Socket%, NumBytes%) | Peek information coming from socket, but do not clear. Win32 | 2 | W |
Read | FUNCTION Message$(Socket%, NumBytes%) | Read NumBytes% | 2 | WXG |
ReadByte | FUNCTION (Socket%) AS BYTE | Read a single byte | 2 | WXG |
ReadLine | FUNCTION Message$(Socket%) | Read complete line | 1 | WXG |
Write | SUB (Socket%, Message$, NumBytes%) | Sends NumBytes% from Message$ | 3 | WXG |
WriteByte | SUB (Socket%, B AS BYTE) | Sends a single byte | 2 | WXG |
WriteLine | FUNCTION Bytes%(Socket%, Message$) | Send Message$ | 2 | WXG |
See the chatserver.bas and chatclient.bas (or chatserv.bas and chatcli.bas for Windows) included in the Rapid-Q distribution. Also take a look at http.bas included in the Rapid-Q for Windows distribution.