![](/img/trans.png)
[英]Cannot create ObjectInputStream with InputStream for a Bluetooth Socket on the Android Platform
[英]Create ObjectInputStream according to a socket
我试图根据套接字创建一个ObjectInputStream并将此流添加到列表中。 客户端在程序的主类中连接,而套接字是通过Thread中的其他方法发送的。 然后使用套接字创建流。 问题是永远不会创建流。 我不明白为什么...
下面是我的代码:
在我的主题中:
public void addClient(Socket socket){
try{
streamList.add(new ObjectInputStream(socket.getInputStream()));
}catch(IOException e){
e.printStackTrace();
}
}
在我的主要班级:
ServerSocket serverSocket = new ServerSocket(PORT);
Socket socket;
ClientThread clientThread = new ClientThread();
//start the thread
try{
socket = serverSocket.accept();
clientThread.addClient(socket);
}
catch(IOException e){
e.printStackTrace();
}
提前致谢。
对等方需要在连接时立即创建其ObjectOutputStream
。 否则, new ObjectInputStream
将阻塞,直到他阻塞为止。
最好将ObjectInputStream
创建推迟到处理接受的套接字的线程的run()
方法中。 您不应该在accept循环中执行任何I / O操作,而只是接受本身。 否则,您可以阻止后续客户端。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.