Labview与Java的TCP连接

时间:2014-10-22 00:00:12

标签: java tcp labview

我试图通过TCP套接字从Labview发送数据并使用Java接收数据。

我使用Labview的TCP VI示例(我无法发布图片)。

我意识到这是一个TCP读取,我还没有达到这一点。我的问题是处理类型。

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

public class JavaApplication3 {
    public static void main(String[] args) throws IOException {

        String serverHostname = new String ("97.77.53.127");

        Socket echoSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;

        try {
            echoSocket = new Socket(serverHostname, 6340);
            out = new PrintWriter(echoSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(
                                        echoSocket.getInputStream()));
        } catch (UnknownHostException e) {

            System.exit(1);
        } catch (IOException e) {
            System.exit(1);
        }

        BufferedReader stdIn = new BufferedReader(
                                       new InputStreamReader(System.in));
        String userInput;

        System.out.print ("input: ");
        while ((userInput = stdIn.readLine()) != null) {
            out.println(userInput);
            System.out.println("echo: " + in.readLine());
            System.out.print ("input: ");
        }

        out.close();
        in.close();
        stdIn.close();
        echoSocket.close();
    }
}

我想要处理的第一个问题是,每当我收到来自Labview VI的输入时,我会得到java程序:

input: d
echo: ?��/�?�~gʕ ?�$���;P?��G��j�?��"�?�?��;���h?�
input: input: d
echo: ?��/�?�~gʕ ?�$���;P?��G��j�?��"�?�?��;���h?�
input: 

我假设我的问题是使用类型转换,但我真的不知道修复它。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

好的,然后尝试类似的事情:

int temp = 0;
while( (temp = in.read()) != -1){
   System.out.print( (char)temp );
}

将它放在代码中的某处。这只是将返回的int转换为char值,这将打印出字母。

让我知道它是怎么回事。