Essential Properties
Some essential properties of the SocketWrench control, called Socket1, need
to be initialized. The best place to do this is in the form’s Load subroutine.
The code should look like this:
Private Sub Form_Load()
Socket1.AddressFamily = AF_INET
Socket1.Protocol = IPPROTO_IP
Socket1.SocketType = SOCK_STREAM
Socket1.Binary = False
Socket1.Blocking = False
Socket1.BufferSize = 1024
End Sub
These six properties should be set for every instance of the SocketWrench control:
|
AddressFamily
|
This property is part of the socket address,
and should always be set to a value of AF_INET, which is global constant
with the integer value of 2. |
|
Protocol
|
This property determines which protocol is going
to be used to communicate with the remote application. Most commonly, the
value IPPROTO_IP is used, which means that the protocol appropriate for
the socket type will be used. |
|
SocketType
|
This property specifies the type of socket that
is to be created. It may be either of type SOCK_STREAM or SOCK_DGRAM. The
stream-based socket uses the TCP protocol, and data is read and written
on the socket as a stream of bytes, similar to how data in a file is accessed.
The datagram-based socket uses the UDP protocol, and data is read and written
in discrete units called datagrams. Most sockets that you will create will
be of the stream variety. |
|
Binary
|
This property determines how data should be read
from the socket. If set to a value of True, then the data is received unmodified.
If set to False, the data is interpreted as text, with the carriage return
and linefeed characters stripped from the data stream. Each receive returns
exactly one line of text. |
|
BufferSize
|
This property is used only for stream-based (TCP)
sockets. It specifies the amount of memory, in bytes, that should be allocated
for the socket’s send and receive buffers. |
|
Blocking
|
This property specifies if the application should
wait for a socket operation to complete before continuing. By setting this
property to False, that indicates that the application will not wait for
the operation to complete, and instead will respond to events generated
by the control. This is the recommended approach to take when designing
your application. |