使用java从服务器(ServerSocket)读取客户端(客户端套接字)上的字节数据包
作者:互联网
我是新来的.
我是Java开发人员(新鲜人),目前正在从事BSE项目,并且遇到从服务器(服务器套接字)读取客户机(客户机套接字)上的字节包的问题.如果你能帮助我,那么请帮助我.
提前致谢
解决方法:
好吧,如果您想直接与数据包进行交互,则需要使用DatagramSocket
而不是常规的Socket和ServerSocket.
然后,您应该visit this link观看有关如何开始发送和接收单个数据包的良好教程.
基本思想是,客户端或服务器在等待其伙伴使用send()发送数据包时将阻止receve()调用.
如果您对问题中指示的单个数据包不感兴趣,那么您将要使用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
}
客户端和服务器将需要类似的循环.
标签:packet,java,sockets,client-server 来源: https://codeday.me/bug/20191009/1879812.html