The java code reads the code of the port.properties file

Recently, a java socket service [

A socket server that can accept the information sent, and then broadcast it

You need to use a java class to read the content of another properties file, and make a note here for future viewing!

The contents of the port.properties file are as follows

port=9999

The Server.java class is as follows, loaded. . . . . . The port number in port.properties is 9999

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Server {
public static void main(String[] args) throws Exception {
final ExecutorService threadPool = Executors.newCachedThreadPool();
final Set<Socket> sockets = new HashSet<>();
InputStream inputStream = getResourceAsStream("port.properties"); 
final Properties properties = new Properties();
properties.load(inputStream);
final String port = properties.getProperty("port");
int myport=Integer.parseInt(port);

ServerSocket serverSocket = new ServerSocket(myport);
while(true) {
final Socket socket = serverSocket.accept();
sockets.add(socket);
threadPool.execute(new Runnable() {
@Override
public void run() {
try {
final InputStream in = socket.getInputStream();
int b;
while((b = in.read()) != -1) {
for (Socket socket1 : sockets) {
if (socket1 != socket) {
socket1.getOutputStream().write(b);
}
}
}
} catch(IOException e) {
e.printStackTrace ();
} finally {
sockets.remove(socket);
}
}
});
}
}
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325812380&siteId=291194637