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

📄 myserver.java~4~

📁 俄罗斯方块游戏,大学时写的,支持单机及点对点网络对战!同时我还在里面加入了使用技能的功能!不过有一个缺点,呵呵好象代码写的不够严谨,所以现在性能很低,我一直也没有优化它!
💻 JAVA~4~
字号:
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();//刷新该流的缓冲       }       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 + -