CFLib.org – Common Function Library Project

easySocket(host, port, message)

Last updated August 27, 2009
Download UDF

author

George Georgiou George Georgiou

Version: 1 | Requires: ColdFusion MX | Library: NetLib

 
Rated 8 time(s). Average Rating: 4.8

Description:
This function allows ColdFusion developers to connect to remote hosts through the TCP/IP protocol and transmit messages. Very useful for implementing chat rooms, integrate with third party applications such as merchant carts etc.

Return Values:
Returns a string.

Example:

#easySocket('127.0.0.1','9999','Hello from ColdFusion')#

Parameters:

Name Description Required
host Host to connect to. Yes
port Port for connection. Yes
message Message to be sent. Yes

Full UDF Source:

<!---
Connect to sockets through your ColdFusion application.
Mods by Raymond Camden

@param host      Host to connect to. (Required)
@param port      Port for connection. (Required)
@param message      Message to be sent. (Required)
@return Returns a string.
@author George Georgiou (george1977@gmail.com)
@version 1, August 27, 2009
--->

<cffunction name="easySocket" access="private" returntype="any" hint="Uses Java Sockets to connect to a remote socket over TCP/IP" output="false">

<cfargument name="host" type="string" required="yes" default="localhost" hint="Host to connect to and send the message">
<cfargument name="port" type="numeric" required="Yes" default="8080" hint="Port to connect to and send the message">
<cfargument name="message" type="string" required="yes" default="" hint="The message to transmit">

<cfset var result = "">
<cfset var socket = createObject( "java", "java.net.Socket" )>
<cfset var streamOut = "">
    <cfset var output = "">
    <cfset var input = "">

<cftry>
<cfset socket.init(arguments.host,arguments.port)>
<cfcatch type="Object">
<cfset result = "Could not connected to host <strong>#arguments.host#</strong>, port <strong>#arguments.port#</strong>.">

<cfreturn result>
</cfcatch>
</cftry>

<cfif socket.isConnected()>
<cfset streamOut = socket.getOutputStream()>

<cfset output = createObject("java", "java.io.PrintWriter").init(streamOut)>
<cfset streamInput = socket.getInputStream()>

<cfset inputStreamReader= createObject( "java", "java.io.InputStreamReader").init(streamInput)>
<cfset input = createObject( "java", "java.io.BufferedReader").init(InputStreamReader)>

<cfset output.println(arguments.message)>
<cfset output.println()>
<cfset output.flush()>

<cfset result=input.readLine()>
<cfset socket.close()>
<cfelse>
<cfset result = "Could not connected to host <strong>#arguments.host#</strong>, port <strong>#arguments.port#</strong>.">
</cfif>

<cfreturn result>
</cffunction>

Search CFLib.org


Latest Additions

Ryan Thompson-Jewell Ryan Thompson-Jewell added
ListSplit
3 day(s) ago

Nathan Dintenfass Nathan Dintenfass added
RowsToColumns
3 day(s) ago

Barney Boisvert Barney Boisvert added
indentXml
3 day(s) ago

Barney Boisvert Barney Boisvert added
REReplaceCallbac...
3 day(s) ago

Top Rated

Rob Brooks-Bilson                                 FolderSize
Rated 5.0, 7 time(s)

Nick Giovanni                                     UniqueValueList
Rated 5.0, 5 time(s)

James Sleeman                                     QuickSort
Rated 5.0, 3 time(s)

Jeff Howden ListDeleteDuplic...
Rated 5.0, 3 time(s)

Created by Raymond Camden / Design by Justin Johnson