3

我正在编写一个程序,该程序通过套接字从 PLC(Allen Bradley 1756 L63)中获取模拟和离散数据点。到目前为止,我在创建套接字时遇到了麻烦。我的代码如下:

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

class PLCServer
{
    public static void main(String argv[]) throws IOException
    {
        // IP address of the ethernet card
        String ENBTIP = "192.168.10.14";
        DataInputStream socketReader = null;
        PrintStream socketWriter = null;

        try 
        {
                Socket client = new Socket(ENBTIP, 9100);
                socketReader = new DataInputStream(client.getInputStream());
                socketWriter = new PrintStream(client.getOutputStream());
            } catch (UnknownHostException e) {
                System.out.println("Error setting up socket connection");
                System.out.println("host: 192.168.10.14 port: 9100");
            } catch (IOException e) {
                System.out.println("Error setting up socket connection: " + e);
                System.out.println("host: 192.168.10.14 port: 9100");
            }
        // Debugging code
        // System.out.println(InetAddress.getByName(ENBTIP).isReachable(10000));
    }
}

当我运行程序时,我得到一个连接被拒绝的异常。

输出:

nick@ubuntu:~/Java Programs/PLC Program$ java PLCServer 
Error setting up socket connection: java.net.ConnectException: Connection refused
host: 192.168.10.14 port: 9100

谁能给我一些指导?

4

1 回答 1

2

您可以先尝试“ping 192.168.10.14”,如果它有响应(应该是),然后尝试“telnet 192.168.10.14 9100”。如果它有一些响应,例如:尝试 192.168.10.14... 连接到 192.168.10.14。那么你的java代码是错误的。否则就是网络问题。

于 2013-01-03T16:30:11.873 回答