Socket 实现多线程服务器程序

以下实例演示了如何使用 Socket 类的 accept() 方法和 ServerSocket 类的 MultiThreadServer(socketname) 方法来实现多线程服务器程序:

Main.java 文件

import java.io.IOException;

import java.io.PrintStream;

import java.net.ServerSocket;

import java.net.Socket;

public class MultiThreadServer implements Runnable {

Socket csocket;

MultiThreadServer(Socket csocket) {

this.csocket = csocket;

}

public static void main(String args[])

throws Exception {

ServerSocket ssock = new ServerSocket(1234);

System.out.println("Listening");

while (true) {

Socket sock = ssock.accept();

System.out.println("Connected");

new Thread(new MultiThreadServer(sock)).start();

}

}

public void run() {

try {

PrintStream pstream = new PrintStream

(csocket.getOutputStream());

for (int i = 100; i >= 0; i--) {

pstream.println(i +

" bottles of beer on the wall");

}

pstream.close();

csocket.close();

}

catch (IOException e) {

System.out.println(e);

}

}

}

以上代码运行输出结果为:

Listening

Connected

以上就是我的分享,觉得有收获的朋友们可以点个关注哦,想学习更多的Java技术方面的朋友们可以进我的一个Java高级架构师交流群,里面有里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料,QQ群:680075317,也可以进群一起交流,比如遇到技术瓶颈、面试不过的,大家一些交流学习!

你可能感兴趣的:(Socket 实现多线程服务器程序)