我正在制作一个客户端服务器应用程序,并使用以下代码来交换服务器和客户端的数据。无法使用套接字上的BufferedReader/Writer发送和接收数据
服务器的发送和接收代码:
public void run() {
try {
BufferedReader input = new BufferedReader(new InputStreamReader(socketNew.getInputStream()));
String message=input.readLine();
while(message.length()!=0)
{
for(Socket s:socs) //socs is a list containing all the connected sockets
{
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
writer.write(message);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
客户端的发送方法:
private void send_data() {
BufferedWriter writer;
try {
writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
writer.write(this.name+textField.getText());
textField.setText("");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
客户的获得方法:
public void receive_data(){
BufferedReader input;
try {
input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message=input.readLine();
while(message.length()!=0)
{console(message);}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我没有任何数据交换的B/W的服务器和clients.Can有人可以帮我吗?
我做到了,但无济于事。 –
没有足够的信息来帮助你进一步。尝试调试您的代码。 – Joni
我在最后添加了断路器,瞧,问题得到了解决。感谢man.I也必须稍微改变一下代码,因为每次用户想要发送和接收数据时都会创建新的缓冲区。一个问题。再次感谢人。 –