提前致谢
答案 0 :(得分:1)
好吧,如果您想直接与数据包进行交互,那么您需要使用DatagramSocket
而不是常规Socket
和ServerSocket
。
然后,你应该visit this link看一个关于如何开始发送和接收单个数据包的好教程。
基本思路是客户端或服务器在等待其合作伙伴使用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
}
您需要为客户端和服务器提供类似的循环。