使用java连接到本地网络设备

时间:2013-02-20 22:36:22

标签: java sockets tcp network-programming network-protocols

我正在尝试编写一个java程序来通信/控制在我的LAN中连接的网络设备。网络设备有一个web-GUI并使用TCP,我尝试使用java套接字与设备建立连接,但设备在建立后继续重置连接。

我正在尝试使用wireshark / netcat / tcpflow来嗅探web-GUI和设备之间的数据,但是wireshark却被数据所淹没,我仍然在netcat / tcpflow上阅读,无法找到一个简单的教程。

我只是想知道是否有人能照亮我的一些灯光让我滚动。

提前致谢

继承了我试过的代码

import java.io.*;
import java.net.*;
import java.util.*;

class draft{
    public static void main (String args[]) throws Exception{
        String data;
        String host = new String ("192.168.100.223");
        int port = 80;
        Socket ndsocket = new Socket(host, port);   

        DataOutputStream outToServer = new DataOutputStream(ndsocket.getOutputStream());
        BufferedReader inFromServer = new BufferedReader (new InputStreamReader(ndsocket.getInputStream()));
来自wireshark的

,它使用HTTP 1.1,我应该使用类似的东西来强制http 1.1连接吗?

    con_out = connection.getOutputStream();
    con_in  = connection.getInputStream();
    PrintWriter out_writer = new PrintWriter(con_out, false);
    out_writer.print("GET / HTTP/1.1\r\n");
    out_writer.print("Host: thehost\r\n");
    out_writer.print("\r\n");
    out_writer.flush();

从tcpflow,我可以看到它发回一个http页面更新,所以我将以某种方式解析我需要的代码,但首先需要让连接工作。

我无法一直访问该设备(它在我兄弟的家中),所以我可能无法像我喜欢的那样经常测试建议。

抱歉,如果我是一个菜鸟,因为我没有经验编写我自己的程序,感谢再次帮助。

1 个答案:

答案 0 :(得分:1)

  

设备在建立后继续重置连接

这可能意味着您没有向其发送正确的协议。你将不得不找出它是什么,只有你能做到这一点,因为只有你知道设备是什么。