[英]TCP connection, serversocket.accept when running it wont create the socket
這是我的代碼,當我在eclipse中以調試模式運行它時,它向我顯示它不會繼續運行,從而停止了停留在我放置箭頭的代碼中。
private ServerSocket serverSocket = null;
private Socket socket= null;
private ObjectInputStream inputStream= null;
public void ConnectTCP(){
try{
serverSocket = new ServerSocket(5000);
---->socket = serverSocket.accept();
inputStream = new ObjectInputStream(socket.getInputStream());
System.out.print("Server is Running");
}catch(IOException e){
e.printStackTrace();
}
}
您的套接字已在此行創建。 由於服務器綁定到端口,因此將調用ServerSocket構造函數。 至於accept方法, 由於JavaDoc的緣故
監聽與此套接字建立的連接並接受它。 該方法將阻塞,直到建立連接為止。 創建一個新的Socket,如果有安全管理器,則使用s.getInetAddress()。getHostAddress()和s.getPort()作為其參數來調用安全管理器的checkAccept方法,以確保允許該操作。 這可能會導致SecurityException。
因此,accept方法只是在等待客戶端連接,這就是為什么此時執行停止的原因。 可能是,閱讀Java官方教程來編寫服務器端可能會有所幫助。
實際上,它不會停止,它正在等待連接。 當客戶端要連接它時,它將與該套接字連接,程序流進入下一行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.