0
Javaでサーバーとクライアントのソケット接続をシミュレートしようとしています。私はそのコードを持っています:クライアントソケットで受け入れられるデータがサーバーソケットと異なる
private static Socket clientSocket;
private static PrintWriter pw;
private static Socket serverSocket;
private static final int PORT_NUMBER = 1146;
public static void init() throws IOException {
ServerSocket sSocket = new ServerSocket(PORT_NUMBER);
clientSocket = new Socket("localhost", PORT_NUMBER);
serverSocket = sSocket.accept();
OutputStream os = serverSocket.getOutputStream();
pw = new PrintWriter(os, true);
}
private void writePackage(int[] dataPackage) {
for (int packageByte : dataPackage) {
pw.write(packageByte);
}
pw.flush();
try {
InputStream is = clientSocket.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
}
私のデータパッケージは16進数の値を持っています。それは127の長さの配列です。クライアントの入力ストリームをチェックすると、最初の26要素だけがサーバーの出力ストリームを書き込んだものであることがわかります。他は異なっている。すなわち26番目の要素は0xC1
であり、小数点では193
ですが、クライアントの入力ストリーム受け入れは、小数点では196
です。
私が見逃していますか?
あなたは正しいです!違いの原因は何か知っていますか? – kamaci