当客户程序需要与服务器程序通讯的时候,客户程序在客户机创建一个socket对象,socket类有几个构造函数.两个常用的构造函数是 socket(inetaddress addr, int port) 与 socket(string host, int port),两个构造函数都创建了一个基于socket的连接服务器端流套接字的流套接字.对于第一个inetaddress子类对象通过addr参数获得服务器主机的ip地址,对于第二个函数host参数包被分配到inetaddress对象中,如果没有ip地址与host参数相一致,那么将抛出unknownhostexception异常对象.两个函数都通过参数port获得服务器的端口号.假设已经建立连接了,网络api将在客户端基于socket的流套接字中捆绑客户程序的ip地址与任意一个端口号,否则两个函数都会抛出一个ioexception对象.
【程序编程相关:微软预测2006年IPTV服务将向大众市】如果创建了一个socket对象,那么它可能通过调用socket的 getinputstream()方法从服务程序获得输入流读传送来的信息,也可能通过调用socket的 getoutputstream()方法获得输出流来发送消息.在读写活动完成之后,客户程序调用close()方法关闭流与流套接字,下面的代码创建了一个服务程序主机地址为198.163.227.6,端口号为13的socket对象,然后从这个新创建的socket对象中读取输入流,然后再关闭流与socket对象. 【推荐阅读:IBM公司计划今年将在全球建立40个创新】
【扩展信息:英特尔将Wi-Max无线网卡推出时间提至】socket s = new socket ("198.163.227.6", 13); inputstream is = s.getinputstream (); // read from the stream. is.close (); s.close (); 接下面我们将示范一个流套接字的客户程序,这个程序将创建一个socket对象,socket将访问运行在指定主机端口10000上的服务程序,如果访问成功客户程序将给服务程序发送一系列命令并打印服务程序的响应.list2使我们创建的程序ssclient的源代码: listing 2: ssclient.java // ssclient.java import java.io.*; import java.net.*; class ssclient {public static void main (string [] args) {string host = "localhost"; ... 下一页