通过本节的学习,您将了解到如何使用JavaScript代码来实现基于WIFI的TCP的客户端例子。
wifi模块封装了如下几个API可供使用: connect(ip, port) 发起一个socket连接
close() 关闭一个socket连接
write(data, size) 已连接的socket发送数据 参数 | | | Buffer或者string数据,当为string类型时,不需要指明size | | |
on(event, function) 注册一个socket事件的回调函数 参数 | | | 注册的事件类型,字符串型,connected事件表示已经连接、data事件表示有数据接收到 | | 回调函数参数包括2个参数:Buffer或者string数据, 数据长度 | [mw_shl_code=javascript,true]var wifi = require("wifi");
var key = require("key");
//初始化并连接wifi到路由器
print(wifi.init("TP-LINK_B957FD", "87654321"));
function key_cb(name){
print(name);
if(name == "key0") //按下key0,连接到server(可以下载tcpip调试助手)
{
//wifi连接到服务器地址
if(wifi.connect("192.168.0.104", 8080)){
print("connected successfully!");
}
}
if(name == "key1") //当连接成功之后,按下key1,发送数据到server
if(wifi.write("hello world")){
print("write ok");
}
if(name == "wkup") //按下wkup,关闭连接
if(wifi.close){
print("close ok");
}
}
key.on(key_cb);
//客户端获取到数据的回调函数
function data_callback(data, size){
print(data.toString());
}
//注册回调函数
wifi.on("data", data_callback);
function loop(){
while(true){
}
}
loop();
[/mw_shl_code]
实验结果 当程序开始运行之后,大约3到5秒时间,wifi连接上路由器,并且打印连接是否成功的结果。按下key0,开发板连接服务器。当连接成功后,按下key1发送数据到服务器。如果连接成功,按下wkup断开连接。如果服务器端发送数据,则打印发送的内容。
|