[英]How to listen to two ports in localhost without java.net.BindException in Java?
[英]Listen to two ports simultaneously in java
我正在使用Java開發聊天應用程序。 我要實現的功能之一是,除了client1與client 2聊天(工作正常)之外,client1還將向client2發送輔助信息(來自Arduino的數據)。 我的想法是偵聽服務器上的兩個端口,一個用於聊天,另一個用於輔助信息,我使用了兩個ServerSockets,當然還有兩個accept()語句,它們一直處於阻塞狀態。 我的問題是如何在Java中同時打開兩個端口? 我開始是這樣的:
new Thread() {
public void run() {
while(true) {
try {
Socket client1 = server.accept();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//handle client1
}
}}.start();
new Thread() {
public void run() {
while(true) {
try {
Socket client2 =arduinoServer.accept();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//handle client1
}
}}.start();
但是我在線程“ pool-1-thread-1” java.lang.NullPointerException中得到了異常
謝謝。
當然,他們繼續封鎖。 accept()是一種阻塞方法。
您需要兩個線程中的兩個accept()循環。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.