java socket实例

该代码创建了一个使用固定大小线程池的Java服务,监听9090端口。每当有连接请求时,它接受Socket连接,读取UTF-8编码的输入流数据并打印,然后关闭连接。程序包含异常处理和线程池的关闭逻辑。

/**

* 启动项目后就创建Server Socket服务

*/

@PostConstruct

public void runServerSocket() {

try {

ExecutorService executorService = Executors.newFixedThreadPool(10);// 创建线程池

ServerSocket serverSocket = new ServerSocket(9090);// 在设备上配置的服务端监听端口为9090

executorService.execute(()->{

while (true) {

try {

Socket socket = serverSocket.accept();

InputStream in = socket.getInputStream();// 获取输入流,用来读取数据

byte[] data = new byte[128];

in.read(data);

String dataStr = new String(data,"utf-8");

System.out.println(dataStr);

in.close();

socket.close();

executorService.shutdown();

} catch (Exception e) {

executorService.shutdown();

} finally {

executorService.shutdown();

}

}

});

} catch (Exception e) {

e.printStackTrace();

}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值