聊天室客户端
public class Client {
/*
* 套接字--可以理解为电话
* java.net.Socket
* 封装了TCP协议,使用它就可以基于TCP协议进行网络通讯
* Socket是运行在客户端的
*/
private Socket socket;
/**
* 构造方法,用来初始化客户端
* 实例化Socket的时候需要传入两个参数:
* 1.服务端地址:通过IP地址可以找到服务端的计算机
* 2.服务端端口:通过端口可以找到服务端计算机上的服务端应用程序
*
* 实例化Socket的过程就是连接的过程,若远端计算机没有响应会抛出异常
*/
public Client() throws Exception{
System.out.println("正在连接服务端...");
socket=new Socket("localhost",8088);//localhost是自己电脑的IP地址,可以改成其他人的IP地址进行连接
System.out.println("已与服务端建立连接!");
}
/**
* 启动客户端的方法
*/
public void start(){
try {
Scanner scanner=new Scanner(System.in);
/*
* 先要求用户输入一个昵称
*/
String nickName=null;
while(true){
System.out.println("请输入用户名");
nickName=scanner.nextLine();
if(nickName.length()>0){
break;
}
System.out.println("输入有误!");
}
System.out.println("欢迎您"+nickName+"! 开始聊天吧");
/*
* Socket提供的方法:OutputStream getOutputStream
* 获取一个字节输出流,通过该流写出的数据会被发送至远端计算机
*/
OutputStream out=socket.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(out,"UTF-8");
PrintWriter pw=new PrintWriter(osw,true);