 |
【单片机部分】 #include <stm32f10x.h> #include "lwip/tcp.h" #include "CAR527_main.h"
err_t CAR527_service(void *arg, struct tcp_pcb *newpcb, err_t err) { tcp_write(newpcb, "Hello World!", 12, NULL); return ERR_OK; }
void CAR527_main(void) { struct tcp_pcb *tpcb = tcp_new(); tcp_bind(tpcb, IP_ADDR_ANY, 8080); tpcb = tcp_listen(tpcb); tcp_accept(tpcb, CAR527_service); }
|
 |
【电脑Java客户端】 import java.io.IOException; import java.io.InputStreamReader; import java.net.Socket;
public class Demo { public static void main(String[] args) { try { Socket sock = new Socket("192.168.1.145", 8080); InputStreamReader isr = new InputStreamReader(sock.getInputStream()); char[] buf = new char[12]; isr.read(buf); System.out.println(buf); sock.close(); } catch (IOException e) { e.printStackTrace(); } } }
|
 |
tcp_write前可以调用传感器读取的函数,然后再发送出去,一点也不耽误。
|
 |
【连接服务器失败时提示的错误信息】 java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at Demo.main(Demo.java:8)
|