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

📄 socketserver.java

📁 手机游戏设计一书的源代码
💻 JAVA
字号:
package net;

import java.io.*;
import java.net.*;
import java.util.*;

/**
 *  Socket服务器类
 */
public class SocketServer
    implements Runnable {

  public SocketServer() {
  }

  /**
   * 启动应用并且创建一个Socket服务器并且作为一个线程启动
   */
  public static void main(String[] args) {

    // 创建一个应用实例
    SocketServer theApp = new SocketServer();
    theApp.start();
  }

  /**
   *  启动服务器方法
   */
  public void start() {
    int port = 5688;
    ServerSocket serverSocket = null;
    try {
      serverSocket = new ServerSocket(port);
    }
    catch (IOException ex) {
      ex.printStackTrace();
    }
    while (true) {
      try {
        System.out.println("start listenning ...");
        new Thread(new SocketConnector(serverSocket.accept())).start();
        System.out.println("received a client request.");
      }
      catch (Exception ex) {
        ex.printStackTrace();
      }
    }
  }

  class SocketConnector
      implements Runnable {

    /**
     *创建Socket连接
     */
    public SocketConnector(Socket socket) {
      try {
        this.client = socket;
        client.setSoTimeout(0);
      }
      catch (SocketException ex) {
        ex.printStackTrace();
      }
    }

    /**
     *  向Socket客户端写数据方法
     */
    public void run() {
      try {
        OutputStream os = client.getOutputStream();
        DataOutputStream dos = new DataOutputStream(os);
        dos.write("Hello MIDlet!".getBytes());
        dos.flush();
        dos.close();
      }
      catch (IOException ex) {}
    }

    private Socket client = null;
  }

  /**
   * 运行服务器方法
   */
  public void run() {
    ServerSocket server = null;
    try {

      // 用来监听请求的服务器端口
      int port = 5688;

      // 创建一个服务器套接口用来监听进来的连接请求
      server = new ServerSocket(port);

      // 设置当前连接为不限时连接
      server.setSoTimeout(0);
      while (true) {
        Socket socket = server.accept();
      }

    }
    catch (Exception ex) {

      ex.printStackTrace();

    }
    finally {
      try {
        if (server != null) {
          server.close();
        }
      }
      catch (IOException ex) {

        //打印异常堆栈
        ex.printStackTrace();
      }
    }
  }
}

⌨️ 快捷键说明

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