📄 myserver.java~5~
字号:
package server;//包//头文件import java.io.*;import java.util.*;import java.net.*;import ct.NetRead;//自定义接口import ct.*;//自定义主游戏窗体public class MyServer { final int RECEIVE_IN_PORT=9090;//接收输入端口 final int RECEIVE_OUT_PORT=9091;//接收输出端口 //该服务器的端口号 PrintWriter m_printWriter;//实现在 PrintStream 中的所有 print 方法 ServerSocket m_rInServer,m_rOutServer;//声名服务器套接字对象 NetRead m_Owner;//定义接口 //receiveServer的构造器 public MyServer(NetRead netRead) { m_Owner=netRead;//初始化端口 //声名服务器套接字为空 m_rInServer=null; m_rOutServer=null; //ServerSocket的实例 Socket socketIn=null,socketOut=null;//套接字 //用户请求的套接字 Thread readThread=null; //用来读对方传来数据的线程 try { m_rInServer=new ServerSocket(RECEIVE_IN_PORT);//读取输入套接字对象 m_rOutServer=new ServerSocket(RECEIVE_OUT_PORT);//读取输出套接字对象 //初始化ServerSocket showMessage("欢迎来到服务器!!!");//调用重载NetRead接口中showMessage方法 //cmd中输出(后台操作,方便检错) System.out.println("欢迎来到服务器!!!"); System.out.println(new Date()); System.out.println("服务器准备完毕!!!"); System.out.println("Port: "+RECEIVE_IN_PORT); System.out.println("Local machine's name:"+InetAddress.getLocalHost()); //等待用户请求 socketIn=m_rInServer.accept(); socketOut=m_rOutServer.accept(); //接收客户机连接请求 showMessage("已连接客户机....."); readThread=new ReadThread(socketIn,this);//实例读线程 //生成serverThread的实例 readThread.start(); //启动serverThread线程 //使用指定的 charset 将要向其写入的字符编码为字节 OutputStreamWriter writer=new OutputStreamWriter(socketOut.getOutputStream()); m_printWriter=new PrintWriter(writer,true);//定义PrintWriter对象 } catch(IOException e) { System.out.println(e.getMessage()); } } public static void main(String args[]) {// new MyServer(); } //end of main /** * 当数据来的时候调用 * @param str 读进来的数据 */ protected void readStr(String str) {//调用重载NetRead中的readStr()方法 System.out.println(str); m_Owner.readStr(str); } /** * 往对方写东西 * @param str 要写的东西 * @return 若写成功,则返回真 * */ public boolean writeStr(String str) { if(m_printWriter==null)return false;//无法打印 try {// m_printWriter.println(str);//打印 String,然后终止该行 m_printWriter.flush();//刷新该流的缓冲 System.out.println("fgdsf2fd215df456"); } catch(Exception e) { return false; } return true; } //调用重载NetRead接口中showMessage方法 private void showMessage(String str) { m_Owner.showMessage(str); System.out.println(str); } //关闭套接字 public void close() { try{ m_rInServer.close(); m_rOutServer.close(); m_printWriter.close(); }catch(Exception e){} }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -