📄 message.java
字号:
import java.net.*;import java.io.*;/** * Class for sending messages * * @author Sam Cavenagh * @version 5/11/02 * * Website: http://home.pacific.net.au/~cavenagh/SH/ * Email: cavenaghweb@hotmail.com */class Message{ Socket msgSocket; PrintWriter out; BufferedReader in; SHinterface sh; String playersName; boolean listen = true; Message(SHinterface sh) { this.sh = sh; } public void createConnection(String servername, String playersName) { this.playersName = playersName; try{ msgSocket = new Socket(servername, 4444); out = new PrintWriter(msgSocket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader(msgSocket.getInputStream())); }catch(UnknownHostException e) { //sh.addMsg("Server: " + servername + " Could not be Found"); }catch(IOException e2){ //sh.addMsg("Server not Listening for Connections"); } if (msgSocket != null){ out.println(playersName); String name = "unknown#$#"; try{ name = in.readLine(); }catch (IOException e3) { sh.addMsg("Getting Otherplayers Name Error " + e3); } if(!name.equals("unknown#$#")){ listen = true; new WaitforMsg(); } } } public void sendMsg(String msg) { out.println(playersName + ": " + msg); } public void endConnection() { listen = false; if(msgSocket != null){ out.println("end"); try{ msgSocket.close(); }catch(IOException e){} } sh.addMsg("Connection Closed"); }class WaitforMsg implements Runnable{ Thread wt; //Wait Thread WaitforMsg() { wt = new Thread(this, "Wait"); wt.start(); // Starting thread } public void run() { do{ String otherplayermsg = "Message Error"; try{ otherplayermsg = in.readLine(); }catch(IOException e) { sh.addMsg("Read Error: " + e); sh.addMsg("Server Disconnection"); listen = false; } if(otherplayermsg.equals("end")) endConnection(); else if(listen) sh.addMsg(otherplayermsg); }while(listen); }}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -