网络
概述
演示网络的基本用法。网络准备好后就连接服务器(xianhe.tpddns.cn:10808);连接成功则发送hello到服务器;当收到"test"串时,打开DATA提示灯和输出2秒;当收到"update"串时,远程更新脚本。
代码
GPIO.set(GPIO.POWER, 1)
Net.init()
while(true)
{
var m = Event.get();
switch(m.msg)
{
case Event.NET_EVENT:
switch(m.event)
{
case Net.READY:
Net.connect(1, "xianhe.tpddns.cn", 10808); //普通的TCP连接
//Net.tcp(1, "xianhe.tpddns.cn", 10808); //TCP常连接,断线自动重连,没有CONN_FAIL和CONN_CLOSE事件
//Net.connect(1, "xianhe.tpddns.cn", 10808, "udp"); //普通的UDP连接,不会建立连接,没有CONN_FAIL和CONN_CLOSE事件
break;
case Net.CONN_OK:
Net.send(1, "hello");
break;
case Net.CONN_FAIL:
print("connect failed");
break;
case Net.CONN_CLOSE:
print("connect closed");
break;
case Net.RECV:
var s = m.data.gets();
if(s == "test")
{
GPIO.set(GPIO.DATA, 1);
GPIO.set(GPIO.OUT1, 1);
Timer.start(1, 2000);
Net.send(1, "ok");
}
else if(s == "close")
{
Net.close(1);
}
else if(s == "update")
{
Net.updateJS("http://www.easelive.cn/jsdtu/test/update.js", 0x3E4D);
}
else
{
Net.send(1, "wrong");
}
break;
}
break;
case Event.TIMER_OUT:
if(m.id == 1)
{
GPIO.set(GPIO.DATA, 0);
GPIO.set(GPIO.OUT1, 0);
}
break;
}
}
下载代码(右键另存为):net.js