This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Creation of custom package
#8
Hi,

Is there an example from this?  Because that's what I am trying. thx Roger

Code:
if not ready then
 socket = require("user.websocket")
 usocket = require("socket")
 copas = require("copas")
 ready=true
 apps = {}

 --helper functions to round and increment values
 
 function increment(n)
   n = n + 1
   return n
 end
 
 function parse(data)
   alert('parsing: %s', data)
   local response = string.split(data,' = ')

 end
 
 function sendCommand(command)
   skt:send(command)
   sleep(1)    
 end
 
 
 function init()

 end
 
 function fromKNX(command)
   local telegram = string.split(command,',')
   log(command)
   sendCommand(command)
 end
 
 local server = usocket.udp()
 server:setsockname("127.0.0.1",53450)
 function handler(skts)
   skts = copas.wrap(skts)
   alert("UDP connection handler")
   while true do
     local s, err
     alert("UDP receiving..")
     s, erro = skts:receive(2048)
     if not s then
       alert("Receive error: %s", erro)
       break
     end
     alert("Received data, bytes: %s",s)
     fromKNX(s)
   end
 end
   
 copas.addserver(server, handler, 1)
end

if not skt then
url= 'ws://demos.kaazing.com/echo'
 skt,err = socket.client('copas',5)

 skt:connect(url,80)
 skt:send('hello')
 -- when theres no error connect ok, initialize
 if(not err) then

   -- add receive thread
   copas.addthread(function()
       while true do
         local resp,err = copas.receive(skt)
         -- if theres no connection start a new connection
         if not resp then
           alert("[tcp-client] Receive error: %s", err)
           copas.removeserver(skt)
           skt = nil
           break
         end
         local fd,prtd = pcall(parse,resp)
         if(fd==false)then
           alert("Error with parsemsg %s ",prtd)
         end
       end
     end)
   if skt then
     alert('[tcp-client] connection ok')
     init()
     -- error while connecting,
   else
     if warningfailed then alert('[tcp-client] connection failed (conn): %s', err) end
     return
   end
 else
   alert('[tcp-client] error connecting %s',err)
   return
 end
end
copas.loop()
Reply


Messages In This Thread
Creation of custom package - by Bitver - 17.03.2018, 10:03
RE: Creation of custom package - by admin - 19.03.2018, 07:33
RE: Creation of custom package - by admin - 20.03.2018, 14:27
RE: Creation of custom package - by Alexander - 19.05.2021, 19:12
RE: Creation of custom package - by rocfusion - 20.03.2018, 18:53
RE: Creation of custom package - by rocfusion - 23.03.2018, 02:30
RE: Creation of custom package - by rocfusion - 23.03.2018, 06:04
RE: Creation of custom package - by admin - 23.03.2018, 11:30
RE: Creation of custom package - by rocfusion - 23.03.2018, 14:25
RE: Creation of custom package - by admin - 23.03.2018, 14:41
RE: Creation of custom package - by rocfusion - 26.03.2018, 08:42
RE: Creation of custom package - by nickd - 03.03.2019, 09:30
RE: Creation of custom package - by admin - 26.03.2018, 08:48
RE: Creation of custom package - by doshibn - 09.05.2020, 12:10
RE: Creation of custom package - by admin - 11.05.2020, 06:52
RE: Creation of custom package - by admin - 11.05.2020, 11:24
RE: Creation of custom package - by admin - 20.05.2021, 05:27
RE: Creation of custom package - by myg - 05.05.2023, 21:26
RE: Creation of custom package - by admin - 08.05.2023, 09:02
RE: Creation of custom package - by admin - 11.12.2023, 12:47

Forum Jump: