设为首页 加入收藏

TOP

Java进阶学习:网络服务器编程
2014-11-18 18:21:37 】 浏览:3658
Tags:Java 进阶 学习 网络 服务器 编程

  Java的Socket API提供了一个很方便的对象接口进行网络编程。本文用一个简单的TCP Echo Server做例子,演示了如何使用Java完成一个网络服务器。


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


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


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


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


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




  这段代码先创建了一个ServerSocket的对象并让其监听在TCP端口7上,然后在一个循环中用accept()方法接收新的连接,并创建处理这一连接的Thread。实际处理每个客户端连接的逻辑包含在EchoSession这个类里面。


  在以上代码中使用了ExceptionAdapter这个类,它的作用是把一个checked Exception包装成RuntimeException。详细的说明可以参考避免在Java中使用Checked Exception 一文。


  以下是EchoSession的代码:




】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spring编程入门十大问题解答 下一篇Java学习:了解什么叫做JavaBean

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目