Navigation: Language Reference > TCP/IP Client/Server communications >TCP/IP Socket Communications - Template support | |
The TCP/IP Socket Communication support makes it simple to implement a Socket Server and Client. The template support allows you to easily send messages or data, or user-defined notifications to a single recipient, or broadcast to all connected clients.
There are two Extension Templates, and several Code templates that do all the work.
To get started Register the ClaSocket.tpl
Extension Templates
Global Extension
To use the socket support add the Socket Communication Support - Global extension
Procedure Extension
On any Procedure that you want to use the Socket Code templates or the QuickAppConnectClass, add the Socket Communication Support Procedure extension template
Client Tab
PROMPT | Value |
---|---|
Disable Support for Sockets | Toggle the checkbox to disable the sockets support |
Implement Server? | Toggle the checkbox to enable Server functionality(You need one Executable to act as a Server) |
Implement Client? | Toggle the checkbox to enable Client functionality(a Server can implement both Client and Server) |
Server IP | Specify a variable which contains the Server IP number |
Server Port | Specify a variable which contains the Server Port |
Server Name | Specify a variable which contains the Server Name |
Get IP and Name at Runtime | Toggle this checkbox so that the Machine name and IP number are retrieved at runtime |
Variable to store error | Specify a variable to store a Numeric error code |
On Action Failed | Specify code to execute if the action fails with an error (can be a Procedure or a Routine) |
On Action Succeeds | Specify code to execute if the action succeeds (can be a Procedure or a Routine) |
When not connected | Specify code to execute if the action can't be executed because the Client is not connected (can be a Procedure or a Routine) |
Client Tab | |
Use Server settings? | Toggle the checkbox to use the same settings as specified on the Server Tab |
Server IP | Specify a variable which contains the Server IP number |
Server Port | Specify a variable which contains the Server IP number |
Server Name | Specify a variable which contains the Server Name |
Server Password | Specify the variable used to store the password to the server (if you are using one) |
Code Templates
The Code templates provide support for the following Socket “Actions”:
·Connect to Server
·Disconnect from Server
·Start Server
·Stop Server
·Initialize IP and Name
·Send Message
·Send Notification
·Broadcast Notification
·Broadcast Shutdown
Execute Socket Action - Connect/Disconnect
(used to connect or disconnect from the server)
The “Execute Socket Action - Connect/Disconnect” code template is used to either connect or disconnect from the server.
If the Action is to connect to the server then he template generates the routine:
QuickAppConnect_ConnectToServer ROUTINE
If the Action is to disconnect from the server then he template generates the routine:
QuickAppConnect_DisconnectFromServer ROUTINE
Add your custom code in the Embed tree under Procedure Routines
Execute Socket Action - Server
(used to start or stop the Server listening on the designated Port, or to initialize the IP number and Name as returned by the OS)
If the Action is set to “Start Server” the templates generate the Routine:
QuickAppConnect_StartServer ROUTINE
If the Action is set to “Stop Server” the templates generate the Routine:
QuickAppConnect_StopServer ROUTINE
Or add your custom code in the Embed tree:
If the Action is set to “Initialize IP and Name” the templates generate the Routine
QuickAppConnect_InitializeServerInfo ROUTINE
Or add your custom code in the Embed tree:
Related code templates:
Execute Socket Action - Message
(used to send a STRING or GROUP to the server to be relayed to a single specified computer)
Prompt | Value |
---|---|
Action | To send any STRING or GROUP set the Action to “Send Message” |
Message Content | Select a variable that contains the data you want to send |
User Recipient | Select a variable that has the recipient name(The name used to login to the server) |
Disable Error Message | Optionally you can choose not to execute any error handling code that is specified on the Procedure extension |
Disable Not Conneced Message | Optionally you can choose not to execute any error handling code when the connection is not established (specified on the Procedure extension) |
Disable Action Succeeded | Optionally you can choose not to execute any “On Success” code that is specified on the Procedure extension |
When the Socket action is set to “Send Message” the templates generate the Routine
QuickAppConnect_ExecuteAction_Message_9 ROUTINE
Or add your custom code in the Embed tree under Procedure Routines
The computer that receives the Message executes the Event_Message method
QuickAppConnect.Event_Message PROCEDURE(STRING pFromUserName,STRING pToUserName,STRING pMsgText)
Related code templates:
Execute Socket Action - Notify
(used to send a User-Defined numeric code and a STRING or GROUP to the server to be relayed to a single specified computer)
Prompt | Value |
---|---|
Action | To send any STRING or GROUP along with a User-Defined numeric code that tells the recipient something about the dataset the Action to “Send Notification” |
Message Content | Select a variable that contains the data you want to send |
Notification Code | Select a variable that will hold the User-Defined code that tells the recipient about the data or action being relayed |
User Recipient | Select a variable that has the recipient name(The name used to login to the server) |
Disable Error Message | Optionally you can choose not to execute any error handling code that is specified on the Procedure extension |
Disable Not Connected Message | Optionally you can choose not to execute any error handling code when the connection is not established (specified on the Procedure extension) |
Disable Action Succeeded | Optionally you can choose not to execute any “On Success” code that is specified on the Procedure extension |
When the Socket action is set to “Send Notification” the templates generate the Routine:
QuickAppConnect_ExecuteAction_Notify_7 ROUTINE
Or add your custom code in the Embed tree under Procedure Routines
The computer that receives the Notification executes the Event_Notification method:
QuickAppConnect.Event_Notification PROCEDURE(STRING pFromUserName,STRING pToUserName,LONG pNotificationCode,STRING pMsgText)
Related code templates:
Execute Socket Action - BroadcastNotification
(used to send a User-Defined numeric code and a STRING or GROUP to the server to be relayed to all connected clients)
Prompt | Value |
---|---|
Action | To send any STRING or GROUP along with a User-Defined numeric code that tells the recipients something about the dataset the Action to “Broadcast Notification” |
Message Content | Select a variable that contains the data you want to send |
Notification Code | Select a variable that will hold the User-Defined code that tells the recipient about the data or action being relayed |
Disable Error Message | Optionally you can choose not to execute any error handling code that is specified on the Procedure extension |
Disable Not Connected Message | Optionally you can choose not to execute any error handling code when the connection is not established (specified on the Procedure extension) |
Disable Action Succeeded | Optionally you can choose not to execute any “On Success” code that is specified on the Procedure extension |
When the Socket action is set to “Broadcast Notification” the templates generate the Routine:
QuickAppConnect_ExecuteAction_BroadcastNotification_5 ROUTINE
Or add your custom code in the Embed tree under Procedure Routines
The computers that receive the Broadcast Notification execute the Event_BroadcastNotification method:
QuickAppConnect.Event_BroadcastNotification PROCEDURE(STRING pFromUserName,LONG pNotificationCode,STRING pMsgText)
Related code templates:
Execute Socket Action - BroadcastShutdown
(used to send a User-Defined numeric code and a STRING or GROUP to the server to be relayed to all connected clients)
Prompt | Value |
---|---|
Action | To send any STRING or GROUP along with a User-Defined numeric code that tells the recipients something about the dataset the Action to “Broadcast Shutdown” |
Message Content | Select a variable that contains the data you want to send |
Notification Code | Select a variable that will hold the User-Defined code that tells the recipient about the data or action being relayed |
Disable Error Message | Optionally you can choose not to execute any error handling code that is specified on the Procedure extension |
Disable Not Connected Message | Optionally you can choose not to execute any error handling code when the connection is not established (specified on the Procedure extension) |
Disable Action Succeeded | Optionally you can choose not to execute any “On Success” code that is specified on the Procedure extension |
When the Socket action is set to “Broadcast Shutdown” the templates generate the Routine:
QuickAppConnect_ExecuteAction_Shutdown_6 ROUTINE
Or add your custom code in the Embed tree under Procedure Routines
The computers that receive the Broadcast Notification execute the Event_BroadcastShutdown method:
QuickAppConnect.Event_BroadcastShutdown PROCEDURE(STRING pFromUserName,LONG pNotificationCode,STRING pMsgText)
Example Usage:
See …\Examples\QuickSock\QuickChat.app
See also: