TOF 模拟器的 Java TCP IP 服务器客户端 readline

标签 java tcplistener reuters

我尝试编写一个应用程序,读取数据并将其发送到路透社 TOF 模拟器。

我使用文件分隔符 (FS ASCII(28)) 向 TOF 服务器发送一条消息,如下所示

 package tr.com.calikbank.bnspr.treasury.reutersClient;

import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.Socket; import java.net.UnknownHostException; public class Test { /** * @param args */ public static final String FS = Character.toString((char) 28); public static final String US = Character.toString((char) 31); public static final String GS = Character.toString((char) 29); private static DataInputStream in; private static Socket sock; private static DataOutputStream out; public static void main(String[] args) throws UnknownHostException, IOException { // TODO Auto-generated method stub sock = new Socket("10.90.20.76", 5003); sock.setKeepAlive(true); in = new DataInputStream(sock.getInputStream()); out = new DataOutputStream(sock.getOutputStream()); String message = FS + "333" + US + "AE" + GS + "AAAA#1" + FS; out.flush(); out.writeBytes(message); out.flush(); // BufferedReader reader = new BufferedReader(new // InputStreamReader(sock.getInputStream())); StringBuilder sb = new StringBuilder(); String line; // line = reader.readLine(); while ((line = in.readLine()) != null) { sb.append(line).append("\n"); if (line.isEmpty()) break; } // line = in.readLine(); // sb.append(line).append("\n"); System.out.println("Message received from the server : " + sb.toString()); } }

<>

但是程序陷入了 while 循环,当我停止服务器时返回整个字符串,但我需要在不停止服务器的情况下获取。出了什么问题。

我的决定是 readline 的引用有问题 5530xD0xA

谢谢

最佳答案

package tr.com.calikbank.bnspr.treasury.reutersClient;

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

public class Test {

    /**
     * @param args
     */

    public static final String FS = Character.toString((char) 28);
    public static final String US = Character.toString((char) 31);
    public static final String GS = Character.toString((char) 29);
    public static final String RS = Character.toString((char) 30);

    private static DataInputStream in;
    private static Socket sock;
    private static DataOutputStream out;

    public static void main(String[] args) throws UnknownHostException,
            IOException {
        // TODO Auto-generated method stub

        sock = new Socket("127.0.0.1", 5003);
        sock.setKeepAlive(true);

        in = new DataInputStream(sock.getInputStream());
        out = new DataOutputStream(sock.getOutputStream());

        String message = FS + "333" + US + "AE" + GS + "AAAA#1" + FS;
          //String message=FS+"332"+US+"XX"+GS+"AAAA#INFO"+FS;

        out.flush();
        out.writeBytes(message);
        out.flush();

        // BufferedReader reader = new BufferedReader(new
        // InputStreamReader(sock.getInputStream()));
        StringBuilder sb = new StringBuilder();

        int i=0;
        // line = reader.readLine();
        while (true)
        {
            byte[] inputData = new byte[5000];
            in.read(inputData);

            sb.append(new String(inputData));
            i++;
            if (i==3)
                break;

        }
        // line = in.readLine();
        // sb.append(line).append("\n");

        System.out.println("Message received from the server : "
                + sb.toString());

        String temps=new String(sb.toString());
        String temps2=new String(sb.toString());

        String[] partsUS = temps.split(US);

        for (int j=0;i<partsUS.length;i++)
        System.out.println(partsUS[i]); // 340


        String[] partsRS = temps2.split(RS);

        System.out.println("-----------");

        for (int j=0;j<partsRS.length;j++)
            System.out.println(partsRS[j]); // 340





    }

}

关于TOF 模拟器的 Java TCP IP 服务器客户端 readline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40631426/

相关文章:

java - 在 Java 中检查指定用户帐户的文件权限

java - 应用程序崩溃 java.lang.NumberFormatException : Invalid int:

java - 调整数组大小

c# - TcpListener:监听每一个地址,包括GPRS IP地址

wcf - 使用 Wcf 服务的 Tcp 服务器

java - 为 GWT 服务设置入口点时出现问题

c# - SocketException 阻止在 Windows 服务中使用 C# TCPListener

c++ - 这种字符串格式在 C++ 中意味着什么?

c++ - 将 C++ 项目升级到 VS2010,现在出现 AccessViolationException

android - 从路透社获取金融股关键发展链接