⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientthread.java

📁 二十三种设计模式(CHM格式内附有部分代码)
💻 JAVA
字号:

import java.io.*;
import java.net.*;
import java.util.*;
/**
 * @author  yeeku.H.lee kongyeeku@163.com
 * @version  1.0
 * <br>Copyright (C), 2005-2008, yeeku.H.Lee
 * <br>This program is protected by copyright laws.
 * <br>Program Name:
 * <br>Date: 
 */
public class ClientThread extends Thread
{
	//该客户端线程负责处理的输入流
	BufferedReader br = null;
	//使用一个网络输入流来创建客户端线程
	public ClientThread(BufferedReader br)
	{
		this.br = br;
	}
	public void run()
	{
		try
		{
			String line = null;
			//不断从输入流中读取数据,并将这些数据打印输出
			while((line = br.readLine())!= null)
			{
				System.out.println(line);
				/*
				 本例仅打印了从服务器端读到的内容。实际上,此处的情况可以更复杂:
				 如果我们希望客户端能看到聊天室的用户列表,则可以让服务器在
				 每次有用户登陆、用户退出时,将所有用户列表信息都向客户端发送一遍。
				 为了区分服务器发送的是聊天信息,还是用户列表,服务器也应该
				 在要发送的信息前、后都添加一定的协议字符串,客户端此处则根据协议
				 字符串的不同而进行不同的处理!
				 更复杂的情况:
				 如果两端进行游戏,则还有可能发送游戏信息,例如两端进行五子棋游戏,
				 则还需要发送下棋坐标信息等,服务器同样在这些下棋坐标信息前、后
				 添加协议字符串后再发送,客户端就可以根据该信息知道对手的下棋坐标。
				 */
			}
		}
		catch (IOException ex)
		{
			ex.printStackTrace();
		}
		//使用finally块来关闭该线程对应的输入流
		finally
		{
			try
			{
				if (br != null)
				{
					br.close();
				}
			}
			catch (IOException ex)
			{
				ex.printStackTrace();
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -