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

📄 jtransport.java.bak

📁 an instant messenger written in java (client)
💻 BAK
字号:
import java.net.*;import java.io.*;import javax.swing.*;public class JTransport extends CommandParser implements ThreadListener{    private String username;        private TransportListener listener;    private ListenThread listenThread = null;    private Socket sc = null;    private PrintStream outStream;        JTransport(TransportListener l)    {        clientProtocol(true);        listener = l;      }        public void connect(String remotehost, int port)    {        try        {            sc = new Socket(remotehost, port);            listenThread = new ListenThread(this, new InputStreamReader(sc.getInputStream()));                   outStream = new PrintStream(sc.getOutputStream());            listener.onConnect();        }        catch(IOException e)        {            System.out.println("Error Connection!!");        }           }    public void authenticateUser(String name)    {        username = name;        sendCommand(CMD_AUTHENTICATE, name);    }    public void sendCommand(int id, String data)    {        if (id<10)            outStream.println("+0" + id + data );   // mind here        else outStream.println("+" + id + data);    }        public void sendMessage(String name, String message)    {        sendCommand(CMD_MESSAGE_RECEIVED, name + "~" + message);    }        public void sendMessageToAll(String message)    {        sendCommand(CMD_ALL_MESSAGE_RECEIVED, message);    }        public void onDataRev(String data)    {        parseData(data);                switch(getCommand())        {            case CMD_AUTHENTICATE:            {                if (isValid())                    listener.onUserValid();                else                 {                    try                    {                        sc.close();                    }                    catch(IOException e){}                }                break;            }                        case CMD_USER_JOINED:            {                listener.onUserJoin(getUser());                       break;            }                        case CMD_USER_LEFT:            {                listener.onUserLeave(getUser());                break;            }                        case CMD_MESSAGE_RECEIVED:            {                listener.onMessageRev(getUser(), getData());                break;            }                        case CMD_ALL_MESSAGE_RECEIVED:            {                listener.onMessageRevFromAll(getUser(), getData());                break;            }                        case CMD_SERVER_SHUTDOWN:            {                listener.onLostConnection();                break;            }            }       }        public void onDataError(int id, String description)    {    	if (id ==2){    	  System.out.println("Username already occupied!!");    	  JOptionPane.showMessageDialog(null, "Username Occupied!!", "Connection Error", JOptionPane.ERROR_MESSAGE);    	}        listener.onLostConnection();    }}

⌨️ 快捷键说明

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