Ну, если вы хотите напрямую взаимодействовать с пакетами, тогда вам нужно использовать DatagramSocket
вместо обычных Socket
и ServerSocket
.
Затем вы посетите эту ссылку , чтобы увидеть хорошее руководство по началу работы с отправкой и получением отдельных пакетов.
Основная идея заключается в том, что клиент или сервер будут блокировать вызов recieve()
в то время как он ждет, пока его партнер отправит пакет, используя send()
.
Если вас не интересуют отдельные пакеты, которые вы указали в своем вопросе, тогда вы захотите использовать Socket
и ServerSocket
.Первый шаг к общению между ними включает в себя код, который будет выглядеть примерно так:
//Server
// this call will block until the client tries to connect to the server
Socket cientConn = new ServerSocket(8878).accept();
// now you can use the connection's input and output streams to send data
/******************/
// Client
Socket serverConn = new Socket(addressOfServer, 8878);
// now you can use the connections input and output streams
После того, как вы установите соединения, у вас будет в основном 2 цикла чтения / записи.Один на клиенте, а другой на сервере.
while(true) [
// check for data from an input stream
...
// respond with message back
}
Вам потребуется аналогичный цикл для клиента и сервера.