A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

   //创建ServerSocket  
         ServerSocket serverSocket;  
         Socket clientSocket;  

         serverSocket = new ServerSocket(9999);  
         while ((clientSocket = serverSocket.accept()) != null) {  
             System.out.println("Accept from client " + s.getInetAddress());  
             s.close();  
         }  

          //监听内部网  
         public static final short PORT = 9999;  
         public static final String INSIDE_HOST = "acmewidgets-inside";  //网络接口名  
         public static final int BACKLOG = 10;  //待发数  
         serverSocket = new ServerSocket(PORT, BACKLOG, InetAddress.getByName(INSIDE_HOST));  

          //返回相应对象  
         ServerSocket serverSocket =  new ServerSocket(9999);;  
         Socket clientSocket;  
         BufferedReader in = null;  
         PrintWriter out = null;  
         while (true) {  
             clientSocket = serverSocket.accept();  
             in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream(), "8859_1"));  
             out = new PrintWriter(new OutputStreamWriter(clientSocket.getOutputStream(), "8859_1"), true);  
             String echoLine;  
             while ((echoLine = in.readLine()) != null) {  
                 System.out.println("Read " + echoLine);  
                 out.print(echoLine + "\r\n");  
             }  
         }  
       //  以 上例子返回字符串,如果返回二进制,则使用DataOutputStream;返回对象,使用ObjectOutputStream  

          //处理多客户端  
         //需要 把接收数据的处理放入多线程中  
         public class EchoServerThreaded {  
             public static final int ECHOPORT = 7;  
             public static final int NUM_THREADS = 4;  

             public static void main(String[] av) {  
                 new EchoServerThreaded(ECHOPORT, NUM_THREADS);  
             }  

             public EchoServerThreaded2(int port, int numThreads) {  
                 ServerSocket servSock;  
                 Socket clientSocket;  
                 try {  
                     servSock = new ServerSocket(ECHOPORT);  
                 } catch(IOException e) {  
                     throw new RuntimeException("Could not create ServerSocket " + e);  
                 }  
                 for (int i = 0; i < numThreads; i++) {  
                     new Handler(servSock, i).start();  
                 }  
             }  
         }  
         class Handler extends Thread {  
             ServerSocket servSock;  
             int threadNumber;  

             Handler(ServerSocket s, int i) {  
                 super();  
                 servSock = s;  
                 threadNumber = i;  
                 setName("Thread " + threadNumber);  
             }  

             public void run() {  
                 while (true) {  
                     try {  
                         System.out.println(getName() + " waiting");  
                         Socket clientSocket;  
                         synchronized (servSock) {  
                             clientSocket = servSock.accept();  
                         }  
                         System.out.println(getName() + " starting, IP=" + clientSocket.getInetAddress());  
                         BufferedReader is = new BufferedReader(new InputStreamReader(  
                             clientSocket.getInputStream()));  
                         PrintStream os = new PrintStream(clientSocket.getOutputStream(), true);  
                         String line;  
                         while ((line = is.readLine()) != null) {  
                             os.print(line + "\r\n");  
                             os.flush();  
                         }  
                         System.out.println(getName() + " ENDED ");  
                         clientSocket.close();  
                     } catch (IOException ex) {  
                         System.out.println(getName() + ": IO Error on socket " + ex);  
                         return;  
                     }  
                 }  
             }  
         }  

         // 使用SSL和JSSE保护Web服务器  
         SSLServerSocketFactory ssf = (SSLServerSocketFactory)SSLServerSocketFactory.getDefault();  
         ServerSocket serverSocket = ssf.createServerSocket(8080);  

        /*  Log4j  
         Level 级别: DEBUG < INFO < WARN < ERROR < FATAL < OFF  
         Appender: 输 出信息  
         ConsoleAppender: 输出控制台 System.out  
*/
         // 找到网络接口  
         Enumeration list = NetworkInterface.getNetworkInterfaces();  
         while (list.hasMoreElements()) {  
             NetworkInterface iface = (NetworkInterface)list.nextElement();  
             System.out.println(iface.getDisplayName());  
             Enumeration addrs = iface.getInetAddresses();  
             while (addrs.hasMoreElements()) {  
                 InetAddress addr = (InetAddress)addrs.nextElement();  
                 System.out.println(addr);  
             }  
         }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马