Я пишу приложение клиентского сервера, но я не получаю те же байты на стороне клиента, когда они отправляются со стороны сервера. На стороне сервера я использовал метод .write(bytes[])
. На стороне клиента я использовал метод .readFully(byte[])
. У вас есть идеи?DataOutputStream, он теряет некоторые бит
Отправленное код:
System.out.println("Server got connection from " + connectionFromClient.getPort());
in = connectionFromClient.getInputStream();
OutputStream out = connectionFromClient.getOutputStream();
DataOutputStream dataOut = new DataOutputStream(out);
LicenseList licenses = new LicenseList();
String ValidIDs = licenses.getAllIDs();
System.out.println(ValidIDs);
Encryption enc = new Encryption();
//byte[] dd = enc.encrypt(ValidIDs);
byte[] dd = enc.encrypt(ValidIDs);
String tobesent = new String(dd);
//byte[] rsult = enc.decrypt(dd);
//String tt = String(rsult);
System.out.println("The sent data**********************************************");
System.out.println(dd);
String temp = new String(dd);
System.out.println(temp);
System.out.println("*************************************************************");
//BufferedWriter bf = new BufferedWriter(OutputStreamWriter(out));
dataOut.write(ValidIDs.getBytes());
dataOut.flush();
System.out.println("********Testing**************");
System.out.println("Here are the ids:::");
System.out.println(licenses.getAllIDs());
System.out.println("**********************");
на стороне клиента:
Socket connectionToServer = new Socket("127.0.0.1", 7050);
InputStream in = connectionToServer.getInputStream();
DataInputStream dis = new DataInputStream(in);
int available = dis.available();
byte[] data = new byte[available];
// dis.readFully(data);
dis.read(data);
System.out.println("The received Data*****************************************");
System.out.println(available);
System.out.println(data);
System.out.println("***********************************************************");
Можете ли вы привести пример некоторых байтов, которые вы отправили, и того, что вы получили вместо этого? –
Можете ли вы отправить код, который пишет и читать? – Zaki
Вы сказали ниже, что это для проекта класса. Пожалуйста, используйте тег 'homework' в будущем для такого рода вещей. Это помогает людям лучше помочь вам, правильно настроив их ответы. –