簡體   English   中英

在Java或.NET中,您將如何創建一個偵聽特定端口的服務器?

[英]In Java or .NET, how would you create a server that listens to a specific port?

在Java或.NET中,您將如何創建一個偵聽特定端口的服務器?

(只是一個虛擬服務器,我只是想獲得高層次的想法。)

建議Sun的Learning Trail教程提供有關編寫 Java 客戶端和服務器的信息。

您需要的密鑰代碼(從上面的鏈接復制)是:

ServerSocket serverSocket = null;
try {
    serverSocket = new ServerSocket(4444);
} catch (IOException e) {
    System.out.println("Could not listen on port: 4444");
    System.exit(-1);
}

不確定“服務器”的含義,但是是的,在.NET中,您可以讓TcpListener監聽指定的端口。 我確定Java也有類似的東西。

對於Java,請查找java.net.ServerSocket。

這里有一個教程: http : //java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html

極高水平:

import java.io.*;
import java.net.*;
import java.util.Date;

public class Xyz {
    public static void main( String [] args ) throws IOException {
    ServerSocket serverSocket = new ServerSocket(8080);
     while( true ) {
          final Socket client = serverSocket.accept();
          Thread thread = new Thread( new Runnable() {
              public void run() {
                  handle( client ); // custom method 
              }
           });
           thread.start();
      }

    }
    public static void handle( Socket client ){
        try {

            PrintStream out = new PrintStream( client.getOutputStream() );
            out.println( new Date().toString() );
            out.close();
            client.close();

        } catch ( IOException e ){

        }
    }
}

那將打開端口8080並接受連接。 此類的handle方法將在不同的線程中參與每個連接(Socket)(此處僅打印當前日期)

這是veeeeery的高水平。 您需要添加處理異常,並發,當然,您還必須實現自身的handle方法。

暫無
暫無

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

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