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

📄 serverskt.java

📁 java小游戏代码
💻 JAVA
字号:
// 程序:服务端线程类
// 范例文件:serverskt.java

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

class serverskt extends Thread 
{
    ServerSocket skt;   // 服务端ServerSocket
    Socket Client;      // 接收的客户端Socket
    TextArea in;

    BufferedReader theInputStream;  // 读取客户端数据的缓冲区
    PrintStream theOutputStream;    // 将数据丢出给客户端的对象
    String readin;                  // 从客户端读到的资料

    ChatOneToOne chat;      // 前端Applet界面

    public serverskt(int port, ChatOneToOne chat)
    {
        try {
            // 根据指定的连接端口建立Socket对象
            skt = new ServerSocket(port);
            this.chat = chat;
        }
        catch (IOException e)
        {
            chat.ta.append(e.toString());
        }
    }

    public void run()
    {
        try {
            chat.ta.append("等待联机......");
            // 开始接受联机,客户端联机之后会得到Socket对象
            Client = skt.accept();
            chat.ta.append("客户端" + Client.getInetAddress() + "已联机\n");

            // 建立读取缓冲区
            theInputStream = new BufferedReader(
                new InputStreamReader(Client.getInputStream()));
            // 建立数据丢出对象
            theOutputStream = new PrintStream(Client.getOutputStream());

            // 利用循环读取数据
            while(true)
            {
                readin = theInputStream.readLine();
                chat.ta.append(readin + "\n");
            }
        }
        catch (SocketException e) // 客户端联机中断捕捉此对象
        {
            chat.ta.append("联机中断!\n");
            // 将所有的按钮设定为可用
            chat.clientBtn.setEnabled(true);
            chat.serverBtn.setEnabled(true);
            chat.tfaddress.setEnabled(true);
            chat.tfport.setEnabled(true);
            try {
            // 关闭ServerSocket与Socket
                skt.close();
                Client.close();
            }
            catch (IOException err)
            {
                chat.ta.append(err.toString());
            }
        }
        catch (IOException e)
        {
            chat.ta.append(e.toString());
        }
    }

    // 服务端丢出数据的方法
    public void dataout(String data)
    {
        theOutputStream.println(data);
    }
}

⌨️ 快捷键说明

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