--本服务是一个死循环处理模式,一般需要在服务器的run_lua段中配置为
--tcp_server_example=10,2 -->2代表以服务方式单独线程运行
m_tcp = CTNLuaTcpServer();
m_itConnect = CIntent();
m_sLastID = '';
--接收到时,调用回调处理,sValue是数据,sLen是长度,sID为SOCKET对象编号
function process_recv(sValue,sLen,sID)
print(sValue);
m_sLastID = sID;
--m_itConnect:set(sID,sID);
--send back
m_tcp:send(sID,'Good boy');
end
function run_server()
m_tcp:setPort(3000);
m_tcp:setAsc(true); --true 为ASC模式,false为16进制模式
m_tcp:setLuaID(luaid());
--设置回调函数
m_tcp:setProcessFunc('process_recv();');
m_tcp:runAsThread();
end
run_server();
while(true)
do
cutil:sleep(1000);
--可以定时发消息给对像
if #m_sLastID > 0 then
m_tcp:send(m_sLastID,'aaaa'); --发送普通ASC
m_tcp:sendHex(m_sLastID,'FF02'); --发送16进制
end
end