先写服务端,一定要先执行服务端
package wangluobiancheng;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
/*
* TCP通信严格区分客户端和服务器端,在通信时必须先由客户端去连接服务器端才能实现通信,服务器端不能主动连接客户端
* 并且服务器端程序要先启动,等待客户端的连接
* ServerSocket类,用于表示服务器端,通信时要先创建代表服务器端的ServerSocket对象,相当于开启一个服务,此服务会等待客户端的连接。
* Server类,表示客户端,创建Server对象,使用该对象向服务器端发出连接请求,服务器端响应后,客户端再次向服务器端发送确认信息,确认连接
* ServerSocket()使用该构造方法在创建ServerSocket对象时,并没有绑定端口号,这样的对象创建的服务器端没有监听任何端口,不能直接使用
* *最常用ServerSocket(int port)可以将其绑定到一个指定的端口号上(参数port就是端口号)。客户端需要指定的端口号来访问服务器端程序
* ServerSocket(int port,int backlog)可以将其绑定到一个指定的端口号上(参数port就是端口号)。客户端需要指定的端口号来访问服务器端程序,backlog用于指定在
* 服务器忙时,可以与之保持连接请求的等待客户数量,如果没有指定这个参数,默认为50