龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java网络服务器编程

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
Java 的Socket API 提供了一个很方便的对象接口进行网络编程。本文用一个简单的TCP Echo Server 做例子,演示了如何使用Java 完成一个网络服务器。?XML:namespace prefix = o ns = "urn:schemas-microsoft

Java的Socket API提供了一个很方便的对象接口进行网络编程。本文用一个简单的TCP Echo Server做例子,演示了如何使用Java完成一个网络服务器。<?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

 

用作例子的TCP Echo Server是按以下方式工作的:

当一个客户端通过TCP连接到服务器后,客户端可以通过这个连接发送数据到服务端,而服务端接收到数据后会把这些数据用同一个TCP连接发送回客户端。服务端会一直保持这个连接直到客户端关闭它为止。

 

因为服务器需要能同时处理多个客户端,我们先选用一个常见的多线程服务模型:

让一个Thread负责监听服务端口,当有新的连接建立的时候,这个监听的Thread会为这个连接创建一个新的Thread来处理它。这样,服务器可以接受多个连接,并让多个Thread来分别处理它们。

 

以下是相应的服务端程序:

public class EchoServer implements Runnable {

   

    public void run() {

       try {

           ServerSocket svr = new ServerSocket(7);

           while (true) {

              Socket sock = svr.accept();

              new Thread(new EchoSession(sock)).start();


  
精彩图集

赞助商链接