簡體   English   中英

TCP連接,serversocket.accept在運行時不會創建套接字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM