wemos中tcp没有socket的概念,它有自己的WiFiClient库,一般使用。
1.wemos实现客户端函数简介
- connect(const char * host, const uint16_t port)
host代表着IP地址,port代表着端口号,返回值为1代表着成功,返回值2代表失败 - read()代表着读,write()代表着写
详细可看这里wemos的socket连接
代码示例
#include<ESP8266WiFi.h>
char *ssid="who lian who shabi";
char *passward="QWEasd147852369";
const uint16_t port = 8080;
const char * host = "192.168.1.214"; // ip
WiFiClient client;//声明一个客户端的名字
void initWifiSta()
{
WiFi.mode(WIFI_STA); //设置STA模式
WiFi.begin(ssid, passward); //连接网络
while(WiFi.status() != WL_CONNECTED) {
Serial.print(".");
}
Serial.print("WiFi connected, local IP address:");
Serial.println(WiFi.localIP());
}
void setup() {
Serial.begin(115200);//
initWifiSta();
if (!client.connect(host, port)) {//连接服务器并且判断是否连上
while(1){ Serial.println("connection failed");
Serial.println("wait 5 sec...");
delay(5000);}
return;
}
else
{
Serial.println("connect to tcp server success.");
Serial.println("Send this data to tcp server");
client.println(String("hello tcp server"));//给服务器发送数据
}
}
void loop() {
String recv_data = client.readStringUntil('\r');
Serial.println(recv_data);
if (0 == recv_data.compareTo("exit"))
{
Serial.println("closing connection");
client.stop();
}
delay(200);
}
2.网络调式助手用法
一定要查看主机的正确的IP地址,在连上的WiFi中点击属性,然后在里面看IPV4的地址即可