📄 socketserver.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 + -