{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\ 

{table:id=|class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[JSPacket]{span}{td}{tr}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[JSPacket]{td}{td}[#createNewPacket]\()
Create a new empty packet.{td}{tr}{tbody}{tbody}{tr}{td}[JSPacket]{td}{td}[#getReceivedPacket]\()
Get a packet from receive buffer, read buffer until empty (null is returned).{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#sendPacket]\(destIpOrHostname, packet)
Send a packet.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#sendPacket]\(destIpOrHostname, packet, port)
Send a packet on another port.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#startSocket]\(port_number, method_to_call_when_packet_received_and_buffer_is_empty)
Start a UDP socket for a port.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#stopSocket]\()
Stop the UDP socket for a port.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#testPacket]\(packet)
Put a test packet in the receive buffer to test your method call and getReceivedPacket.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=createNewPacket|class=node}{tr:id=name}{td}h6.createNewPacket{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSPacket]{span}{span:id=iets|style=float: left; font-weight: bold;}createNewPacket{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:createNewPacket_des|trigger=button|text=}{sub-section}{sub-section:createNewPacket_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:createNewPacket_snc|trigger=button|text=}{sub-section}{sub-section:createNewPacket_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:createNewPacket_prs|trigger=button|text=}{sub-section}{sub-section:createNewPacket_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:createNewPacket_ret|trigger=button|text=}{sub-section}{sub-section:createNewPacket_ret|trigger=none|class=sIndent}[JSPacket]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:createNewPacket_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:createNewPacket_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:createNewPacket_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:createNewPacket_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:createNewPacket_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:createNewPacket_sam|trigger=none}{code:language=javascript}
var packet = plugins.udp.createNewPacket()
packet.writeUTF('hello world!')//writes UTF
packet.writeInt(12348293)//writes 4 bytes
packet.writeShort(14823)//writes 2 bytes
packet.writeByte(123)//writes 1 byte
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getReceivedPacket|class=node}{tr:id=name}{td}h6.getReceivedPacket{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[JSPacket]{span}{span:id=iets|style=float: left; font-weight: bold;}getReceivedPacket{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getReceivedPacket_des|trigger=button|text=}{sub-section}{sub-section:getReceivedPacket_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getReceivedPacket_snc|trigger=button|text=}{sub-section}{sub-section:getReceivedPacket_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getReceivedPacket_prs|trigger=button|text=}{sub-section}{sub-section:getReceivedPacket_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getReceivedPacket_ret|trigger=button|text=}{sub-section}{sub-section:getReceivedPacket_ret|trigger=none|class=sIndent}[JSPacket]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getReceivedPacket_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getReceivedPacket_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getReceivedPacket_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getReceivedPacket_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getReceivedPacket_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getReceivedPacket_sam|trigger=none}{code:language=javascript}
var packet = null
while( ( packet = plugins.udp.getReceivedPacket() ) != null)
{
	var text = packet.readUTF()
	var count = packet.readInt()
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=sendPacket-String_JSPacket|class=node}{tr:id=name}{td}h6.sendPacket{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}sendPacket{span}{span:id=iets|style=float: left;}\(destIpOrHostname, packet){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:sendPacket-String_JSPacket_des|trigger=button|text=}{sub-section}{sub-section:sendPacket-String_JSPacket_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:sendPacket-String_JSPacket_snc|trigger=button|text=}{sub-section}{sub-section:sendPacket-String_JSPacket_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:sendPacket-String_JSPacket_prs|trigger=button|text=}{sub-section}{sub-section:sendPacket-String_JSPacket_prs|trigger=none|class=sIndent}\{[String]} destIpOrHostname -- the ip of the destination or the hostname
\{[JSPacket]} packet -- the JSPacket to send
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:sendPacket-String_JSPacket_ret|trigger=button|text=}{sub-section}{sub-section:sendPacket-String_JSPacket_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:sendPacket-String_JSPacket_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sendPacket-String_JSPacket_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:sendPacket-String_JSPacket_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sendPacket-String_JSPacket_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:sendPacket-String_JSPacket_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sendPacket-String_JSPacket_sam|trigger=none}{code:language=javascript}
var packet = plugins.udp.createNewPacket()
packet.writeUTF('hello world!')
plugins.udp.sendPacket('10.0.0.1',packet)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=sendPacket-String_JSPacket_Number|class=node}{tr:id=name}{td}h6.sendPacket{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}sendPacket{span}{span:id=iets|style=float: left;}\(destIpOrHostname, packet, port){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:sendPacket-String_JSPacket_Number_des|trigger=button|text=}{sub-section}{sub-section:sendPacket-String_JSPacket_Number_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:sendPacket-String_JSPacket_Number_snc|trigger=button|text=}{sub-section}{sub-section:sendPacket-String_JSPacket_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:sendPacket-String_JSPacket_Number_prs|trigger=button|text=}{sub-section}{sub-section:sendPacket-String_JSPacket_Number_prs|trigger=none|class=sIndent}\{[String]} destIpOrHostname -- the ip of the destination or the hostname
\{[JSPacket]} packet -- the JSPacket to send
\{[Number]} port -- the port on which to send the packet
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:sendPacket-String_JSPacket_Number_ret|trigger=button|text=}{sub-section}{sub-section:sendPacket-String_JSPacket_Number_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:sendPacket-String_JSPacket_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sendPacket-String_JSPacket_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:sendPacket-String_JSPacket_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sendPacket-String_JSPacket_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:sendPacket-String_JSPacket_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sendPacket-String_JSPacket_Number_sam|trigger=none}{code:language=javascript}
var packet = plugins.udp.createNewPacket()
packet.writeUTF('hello world!')
plugins.udp.sendPacket('10.0.0.1',packet, 4321)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=startSocket-Number_Object|class=node}{tr:id=name}{td}h6.startSocket{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}startSocket{span}{span:id=iets|style=float: left;}\(port_number, method_to_call_when_packet_received_and_buffer_is_empty){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:startSocket-Number_Object_des|trigger=button|text=}{sub-section}{sub-section:startSocket-Number_Object_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:startSocket-Number_Object_snc|trigger=button|text=}{sub-section}{sub-section:startSocket-Number_Object_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:startSocket-Number_Object_prs|trigger=button|text=}{sub-section}{sub-section:startSocket-Number_Object_prs|trigger=none|class=sIndent}\{[Number]} port_number -- the local port that this UDP socket will bind to.
\{[Object]} method_to_call_when_packet_received_and_buffer_is_empty -- when the socket receives one or more packages, it calls this method once.
The method will no longer be called even if new packages are received \- until a call to UDPProvider#js\_getReceivedPacket() returns null. So you should
consume all available packets before you expect this method to be called again.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:startSocket-Number_Object_ret|trigger=button|text=}{sub-section}{sub-section:startSocket-Number_Object_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:startSocket-Number_Object_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:startSocket-Number_Object_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:startSocket-Number_Object_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:startSocket-Number_Object_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:startSocket-Number_Object_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:startSocket-Number_Object_sam|trigger=none}{code:language=javascript}
plugins.udp.startSocket(1234,my_packet_process_method)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stopSocket|class=node}{tr:id=name}{td}h6.stopSocket{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}stopSocket{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stopSocket_des|trigger=button|text=}{sub-section}{sub-section:stopSocket_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stopSocket_snc|trigger=button|text=}{sub-section}{sub-section:stopSocket_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:stopSocket_prs|trigger=button|text=}{sub-section}{sub-section:stopSocket_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:stopSocket_ret|trigger=button|text=}{sub-section}{sub-section:stopSocket_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stopSocket_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stopSocket_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stopSocket_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stopSocket_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stopSocket_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stopSocket_sam|trigger=none}{code:language=javascript}
plugins.udp.stopSocket()
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=testPacket-JSPacket|class=node}{tr:id=name}{td}h6.testPacket{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}testPacket{span}{span:id=iets|style=float: left;}\(packet){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:testPacket-JSPacket_des|trigger=button|text=}{sub-section}{sub-section:testPacket-JSPacket_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:testPacket-JSPacket_snc|trigger=button|text=}{sub-section}{sub-section:testPacket-JSPacket_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:testPacket-JSPacket_prs|trigger=button|text=}{sub-section}{sub-section:testPacket-JSPacket_prs|trigger=none|class=sIndent}\{[JSPacket]} packet
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:testPacket-JSPacket_ret|trigger=button|text=}{sub-section}{sub-section:testPacket-JSPacket_ret|trigger=none|class=sIndent}[Boolean]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:testPacket-JSPacket_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:testPacket-JSPacket_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:testPacket-JSPacket_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:testPacket-JSPacket_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:testPacket-JSPacket_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:testPacket-JSPacket_sam|trigger=none}{code:language=javascript}
var packet = plugins.udp.createNewPacket()
packet.writeUTF('hello world!')
plugins.udp.testPacket(packet)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}