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

📄 clientskt1.java

📁 ICQ聊天程序
💻 JAVA
字号:
// 程序:客户端线程类
// 范例文件:clientskt.java

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

class clientskt1 extends Thread 
{
    Socket skt1;        // 客户端联机Socket对象
    InetAddress host;  // 指定的服务端地址
    int port;          // 指定的服务端连接端口
    String OnLineNum;
    
    
 
    BufferedReader theInputStream1;
    PrintStream theOutputStream1; 
    String readin;     // 服务端输出的数据

    ClientFrame chat;  // 前端的Applet界面

    public clientskt1(String ip, int p, ClientFrame chat)
    {
        try {
            // 取得服务端的InetAddress对象、通讯连接端口
            host = InetAddress.getByName(ip); 
            port = p;
            this.chat = chat;
        }
        catch (IOException e)
        {
            chat.TAOnLine.append(e.toString());
        }
    }

    public void run()
    {
        try {            
            skt1 = new Socket(host, port);			// 建立Socket对象并尝试联机       
            theInputStream1 = new BufferedReader(new InputStreamReader(skt1.getInputStream()));	 // 从InputStream建立读取缓冲区     														
            theOutputStream1 = new PrintStream(skt1.getOutputStream());// 从OutputStream中建立PrintStream对象
 
            while(true)								// 读取数据循环
            {	
                
                readin = theInputStream1.readLine();// 读取服务端传来的数据 Vector message1 第一个值记录在线人数			
				chat.TAOnLine.setText("");							
                while(true)
                {
                	chat.TAOnLine.append(readin + "\n");
                    readin = theInputStream1.readLine();// 将之附加在Applet的TextArea上
                    if(readin.equals("end"))break;	
                }       
            }//while(true)
        }
        catch (SocketException e) // 联机中断时丢出此异常
        {
            chat.TAOnLine.append("联机中断!\n");
            try {
                
                skt1.close();					// 关闭前面的Socket联机,以便可再度联机
            }
            catch (IOException err)
            {
                chat.TAOnLine.append(err.toString());
            }
        }
        catch (IOException e)
        {
            chat.TAOnLine.append(e.toString());
        }
    }

    // 客户端丢出数据的方法
    public void dataout(String data)
    {
        theOutputStream1.println(data);
    }
}

⌨️ 快捷键说明

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