Я должен реализовать отправку данных с определенным исходным портом и в то же время слушать этот порт. Полный дуплекс. Кто-нибудь знает, как это реализовать на java. Я попытался создать отдельный поток для прослушивания входного потока сокета, но он не работает. Я не могу привязать ServerSocket и клиентский сокет к одному и тому же исходному порту и то же самое с netty. Есть ли решение для скучного дуплекса?
init(){
socket = new Socket(InetAddress.getByName(Target.getHost()), Target.getPort(), InetAddress.getByName("localhost"), 250);
in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());
}
private static void writeAndFlush(OutputStream out, byte[] b) throws IOException {
out.write(b);
out.flush();
}
public class MessageReader implements Runnable {
@Override
public void run() {
//this method throw exception EOF
read(in);
}
private void read(DataInputStream in){
while (isConnectionAlive()) {
StringBuffer strBuf = new StringBuffer();
byte[] b = new byte[1000];
while ((b[0] = bufferedInputStream.read(b)) != 3) {
strBuf.append(new String(b));
}
log.debug(strBuf.toString());
}
}
}
your
порт.. вы пишете в порт целевой машины, если вы не говорите, что пишете себе? Начните со слушателя... - person T McKeown   schedule 01.07.2014