簡體   English   中英

Java TCP 客戶端/服務器

[英]Java TCP Client/Server

我有一個問題,我不知道如何在 Java TCP 套接字問題中進一步處理。 就我們可以從 Internet 上獲得的內容而言,不難獲得相當多的 Java 中 TCP 服務器和客戶端通信的工作解決方案。 但是,大多數示例將讓他們的服務器偵聽端口,然后循環直到他們獲得連接到服務器的客戶端,然后代碼將執行 server.accept() 並進一步移動。 例如:

 public static void main(String[] args) throws IOException {
    ServerSocket s = new ServerSocket(PORT);
    System.out.println("Started: " + s);
    try {
      // Blocks until a connection occurs:
      Socket socket = s.accept();
      try {
        System.out.println("Connection accepted: "+ socket);

如果有客戶端連接到服務器,它將完美運行。 而且,我的問題是即使沒有客戶端連接到服務器,我也需要繼續一些其他過程。 事實上,即使沒有客戶端連接到相同的端口和 IP,我也需要啟動另一個 JFrame 來繼續該程序。 但是,我一直在苦苦掙扎,但只要沒有客戶端連接到服務器,我的 Java 程序就會掛在那里,並彈出白色的 JFrame。

我需要知道如何克服這個問題,因為我不太確定我的理解是否有錯誤。 請協助和建議。 謝謝!

最好的問候, Yi Ying

聽起來您需要在一個線程中工作,同時等待另一個線程上的網絡連接。 查看 線程教程 請注意,由於您使用的是 Swing,因此您必須小心。 哪個線程將修改您的 JFrame 等,您應該了解SwingWorker實用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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