Rol*_*lan 0 java sockets dataoutputstream
我正在尝试在java中创建一个服务器,它将同时保持多达4个连接.我认为将相关信息保存在一个数组中可以达到我的目的,但是我遇到了一些麻烦.
这是我创建的课程:
import java.net.*;
import java.io.*;
public class tcpConnects{
private ObjectInputStream input;
private ObjectOutputStream output;
private int player;
public tcpConnects(int playerNumber, Socket connect) {
// TODO Auto-generated method stub
try{
System.out.println("create InputStream");
input= new ObjectInputStream(connect.getInputStream());
System.out.println("create OutputStream");
output= new ObjectOutputStream(connect.getOutputStream());
System.out.println("streams created");
//sendData("Welcome!");
player=playerNumber;
}catch (IOException ioException){
ioException.printStackTrace();
}
}
public ObjectInputStream getInput(){
return input;
}
public void setInput(ObjectInputStream in){
input=in;
}
public ObjectOutputStream getOutput(){
return output;
}
public void setOutput(ObjectOutputStream out){
output=out;
}
public int getPlayer(){
return player;
}
public void sendData(String data){
try{
output.writeObject(data);
output.flush();
}catch (IOException ioException){
ioException.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
无论如何,当我将一个套接字发送到类中时,它进入创建输入流的阶段,但是然后实际上从未创建流.语法似乎是正确的,所以我只能假设存在某种形式的逻辑错误,我不知道.解释为什么这个类不会创建输入或输出流的任何帮助将非常感激.
谢谢,
创建ObjectOutputStream 前的ObjectInputStream,在两端.构造ObjectOutputStream函数向ObjectInputStream读取构造函数的流写入标头,因此如果您创建第ObjectInputStreams一个则会出现死锁.
| 归档时间: |
|
| 查看次数: |
2109 次 |
| 最近记录: |