簡體   English   中英

TOF模擬器的Java TCP IP服務器客戶機讀取線

[英]Java TCP IP server client readline for TOF simulator

我嘗試編寫應用程序讀取並將數據發送到路透社TOF模擬器。

我發送一條消息給TOF服務器,文件分隔符(FS ASCII(28))就像這里一樣

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有一個問題,參考sth 5530xD0xA

日Thnx

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





    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM