分页:
上一页 1 2 3 4 5 [6] 7 下一页
Socket nextClient = server.accept();
// 显示连接细节
System.out.println ("Received request from " +
nextClient.getInetAddress() + ":" +
nextClient.getPort() );
// 不读取数据,只是向消息写信息
OutputStream out =
nextClient.getOutputStream();
PrintStream pout = new PrintStream (out);
// 把当前数据显示给用户
pout.print( new java.util.Date() );
// 清除未发送的字节
out.flush();
// 关闭流
out.close();
// 关闭连接
nextClient.close();
}
}
catch (BindException be)
{
System.err.println ("Service already running on port " + SERVICE_PORT );
}
catch (IOException ioe)
{
System.err.println ("I/O error - " + ioe);
}
}
}
DaytimeServer是如何工作的
这是最简单的服务器程序了。这个服务器程序的第一步是建立一个ServerSocket。如果端口已经绑定了,将会产生一个BindException异常,因为两个服务器程序不可能共享相同的端口。否则,就建立了服务器套接字。下一步是等待连接。
因为daytime是个非常简单的协议,并且我们的第一个TCP服务器程序示例必须很简单,所以我们此处使用了单线程服务器程序。在简单的TCP服务器程序中通常使用无限运行的for循环,或者使用表达式的值一直为true的While循环。在这个循环中,第一行是server.accept()方法,它会阻塞代码运行直到某个客户端试图连接为止。这个方法返回一个表示某个客户端的连接的套接字。为了记录数据,该连接的IP地址和端口号被发送到System.out。你将看到每次某个人登陆进来并获取某天的时间。
运行DaytimeServer
java DaytimeServer
分页:
上一页 1 2 3 4 5 [6] 7 下一页