考试网 >> IT认证 >> JAVA >> JAVA指导 >> Java网络编程之传输控制协议(三)

Java网络编程之传输控制协议(三)

发布时间:2006-06-28 11:12     点击:
分页:上一页  1 2 3 4 [5] 6 7  下一页

// 连接到流的过滤器读取和写入程序

BufferedReader reader = new BufferedReader (new

InputStreamReader

(nextSocket.getInputStream() ) );

PrintWriter writer = new PrintWriter( new

OutputStreamWriter

(nextSocket.getOutputStream() ) );

从这个时候开始,服务器程序就可以处理任何需要完成的事务并响应客户端请求了,或者可以选择事务给另一个线程中的代码运行。请记住与Java中的其它形式的I/O操作类似,从客户端读取回应的时候代码会无限制阻塞--因此为了为多个客户端并行服务,必须使用多线程。但是在简单的情形中,多个执行线程可能是不必要的,特别是在对请求响应迅速并且处理时间很短的情况下。

建立完整实现通用Internet协议的客户端/服务器应用程序需要作大量的工作,对于网络编程的新手来说这一点更为明显。它也需要其它一些技巧,例如多线程编程。从现在开始,我们聚焦于一个简单的、作为单线程应用程序执行的TCP服务器程序框架。

七、建立TCP服务器程序

网络编程的最有趣的部分之一是编写网络服务器。客户端发送请求并响应发回来的数据,但是服务器执行大多数真正的工作。下面的例子是一个daytime(日期时间)服务器(你可以使用上面描述的客户端测试它)。

DaytimeServer的代码

import java.net.*;

import java.io.*;

public class DaytimeServer

{

public static final int SERVICE_PORT = 13;

public static void main(String args[])

{

try

{

// 绑定到服务端口,给客户端授予访问TCP daytime服务的权限

ServerSocket server = new ServerSocket

(SERVICE_PORT);

System.out.println ("Daytime service started");

// 无限循环,接受客户端

for (;;)

{

// 获取下一个TCP客户端
分页:上一页  1 2 3 4 [5] 6 7  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有