上位机通过TCP透传发送数据,下位机接收一次然后就断开连接

2019-07-21 04:10发布

使用的是8266的案例,上位机在循环下只能发送一次输出流给STM32,接着STM32就显示关闭连接了。
下面是上位机的代码
[mw_shl_code=java,true] public static void main(String[] args) throws IOException {
            //创建一个Socket,指定服务器端的ip和端口
            ServerSocket serverSocket = new ServerSocket(8086);
            while(true) {
                Socket socket = serverSocket.accept();
                Scanner input = new Scanner(System.in);
                System.out.println("请输入");
                String userName = input.nextLine();
                OutputStream os = socket.getOutputStream();
                //PrintWriter out = new PrintWriter(socket.getOutputStream(),true);
                DataOutputStream dos = new DataOutputStream(os);//封装一下os
                dos.write(userName.getBytes());
                //out.println(userName);
                dos.close();
                dos.flush();
            }
        }[/mw_shl_code]

下位机是8266的案例,
阿里旺旺图片20190320151020.jpg


下面是STM32显示的结果,当上位机发送“w”给下位机后,下位机连接就断开了
微信图片_20190320151056.jpg



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
login_FAE
1楼-- · 2019-07-21 07:01
上位机问题,找找上位机的问题
支离益
2楼-- · 2019-07-21 11:30
弄个花生壳,映射到本地地址调试一下试试
vegetablebird
3楼-- · 2019-07-21 15:07
login_FAE 发表于 2019-3-20 17:38
上位机问题,找找上位机的问题

对!是上位机的问题,我只发了一个字节结果收到了九个。我想会不会是网络编程输出流会附加加什么信息?我再去重新好好看一下IO流。

一周热门 更多>