![](/img/trans.png)
[英]How to create a Java server which listens to a port and accepts multiple clients
[英]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.