设置 | 登录 | 注册

作者共发了4篇帖子。

今天寫的簡單的單片機lwip套接字程序

1楼 巨大八爪鱼 2017-3-3 21:35
【單片機部分】
#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);
}
2楼 巨大八爪鱼 2017-3-3 21:35
【電腦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();
        }
    }
}
3楼 巨大八爪鱼 2017-3-3 21:36
tcp_write前可以調用傳感器讀取的函數,然後再發送出去,一點也不耽誤。
4楼 巨大八爪鱼 2017-3-3 21:38
【連接伺服器失敗時提示的錯誤信息】
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)

内容转换:

回复帖子
内容:
用户名: 您目前是匿名发表。
验证码:
看不清?换一张
©2010-2025 Purasbar Ver3.0 [手机版] [桌面版]
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。