1、 开发TCP程序时首先需要创建服務器端程序。Java.net包中提供了一个ServerSocket类该类的实例对象可以实现一个服务器端的程序。下面是构造方法解析:
使用该构造方法在创建ServerSocket对象时并沒有绑定端口号这样的对象创建的服务器端没有监听任何端口,不能直接使用还需要继续调用bind(SocketAdress endpoint)方法将其绑定到指定的端口号上才可以使用。
使用该构造方法在创建ServerSocket对象时就可以将其绑定到一个指定的端口上。端口号可以指定为0此时系统就会分配给一个还没有被其他網络程序所使用的端口号。由于客户端需要根据指定的端口号来访问服务器端程序因此端口号随机分配的情况并不常用,通常会让服务器端程序监听一个指定的端口号
该构造方法就是在第二个构造方法基础上,增加了一个bscklog参数该参数用于指定在服务器忙时,可以与之保持连接请求的等待客户数量如果没有指定参数,默认为50
该构造方法就是在第三种构造方法的基础上,还制定了相关的IP地址这种情況适用于计算机上有多块网卡和多个IP的情况,我们可以明确规定ServerSocket在那块网卡或者IP地址上等待客户的连接请求显然对于只有一块网卡的情況我们就不用专门指定了。
2、 Socket用于实现TCP客户端程序下面是工资方法解析:
使用该构造方法在创建Socket对象时,并没有指定IP地址和端口号也僦意味着只创建了客户端对象,并没与去连接任何服务器通过该构造方法创建对象后,还需要调用connect(SocketAdress endpoint)方法才能完成与指定服务器端的连接,其中参数endpoint用于封装IP地址和端口号
使用该构造方法在创建Socket对象时,会根据参数去连接在指定地址和端口上运行的服务器程序其中参數host接收的是一个字符串类型的IP地址。
该方法在使用上与第二种构造方法类似参数address用于接收一个InetAddress类型的对象,该对象用于封装一个IP地址