// Obtain and print the current day of year
Systemoutprintln (brreadLine ());
}
catch (IOException e)
{Systemoutprintln (etoString ());
}
finally
{try
{if (br != null)
brclose ();
if (pw != null)
pwclose ();
if (s != null)
sclose ();
}
catch (IOException e)
{
}
}}}
运行这段程序将会得到下面的结果
Tue Jan :: CST
TUESDAY
SSClient创建了一个Socket对象与运行在主机端口的服务程序联系主机的IP地址由host变量确定SSClient将获得Socket的输入输出流围绕BufferedReader的输入流和PrintWriter的输出流对字符串进行读写操作就变得非常容易SSClient个服务程序发出各种date/time命令并得到响应每个响应均被打印一旦最后一个响应被打印将执行Try/Catch/Finally结构的Finally子串Finally子串将在关闭Socket之前关闭BufferedReader 和 PrintWriter
在SSClient源代码编译完成后可以输入java SSClient 来执行这段程序如果有合适的程序运行在不同的主机上采用主机名/IP地址为参数的输入方式比如wwwsinacomcn是运行服务器程序的主机那么输入方式就是java SSClient wwwsinacomcn
技巧
Socket类包含了许多有用的方法比如getLocalAddress()将返回一个包含客户程序IP地址的InetAddress子类对象的引用;getLocalPort()将返回客户程序的端口号;getInetAddress()将返回一个包含服务器IP地址的InetAddress子类对象的引用getPort()将返回服务程序的端口号
[] [] []