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

📄 serverthread.java

📁 一个用于WEB方式的文本交谈.即N对N方式交谈
💻 JAVA
字号:
package com.watch;

import java.io.*;
import java.net.*;
import javax.servlet.http.HttpSession;

public class ServerThread extends Thread {
    private Server server = null;
    private Socket socket = null;
    private OperatorApplet applet = null;

    public ServerThread(Socket socket, Server server, OperatorApplet applet) {
        super("ServerThread"); //服务器一直执行同一线程
        this.socket = socket;
        this.server = server;
        this.applet = applet;
    }

    public void run() {
        try {
            DataInputStream addResult;
            addResult = new DataInputStream(
                    new BufferedInputStream(socket.getInputStream())); //读取发送信息的客户端的输入流
            byte buffer[] = new byte[1024];
            int byteCount = 0;
            String result = "";
            while ((byteCount = addResult.read(buffer, 0, 1024)) != -1) { //把输入流中有信息则读取到字节缓冲区
                result = new String(buffer, 0, byteCount); //把字节转换成GBK编码的字符串
                System.out.println("服务器接收信息....." + result);
                if ("con".equals(result)) {
                    applet.setMsg(result);
                    server.send("000000");

                }
                else if("woaini".equals(result))
                    Server.listening = false;
                else{
                    System.out.println("*******msg*********");
                    applet.setMsg(result);
                    System.out.println("***do send***");
                    server.send("success"); //向客户端发送
                }


            }
            try {
                Thread.sleep(500);
            } catch (InterruptedException ex1) {
            }
        } catch (IOException ex) {
            System.out.println("SeverThread no data");
        } finally {
            Close(); //断开发送信息的客户端socket
        }
    }

    /**
     * 关闭socket
     */
    private void Close() {
        try {
            server.removeClient(socket);
            socket.close();
        } catch (Exception ex) {
            System.out.println("ServerThread removeClient:" + ex);
        }
    }
}

⌨️ 快捷键说明

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