servertomultidemo.java

来自「学习参考,java基本语法练习,包括一些常用的技巧」· Java 代码 · 共 72 行

JAVA
72
字号
//多个客户服务端程序示例
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
public class ServerToMultiDemo
{
	static int intClient=1;
	public static void main(String args[]) throws IOException
	{
		ServerSocket serversocket=null;
		try
		{
			//创建serversocket端口在4000处监听客户端
			serversocket=new ServerSocket(4000);
			System.out.println("Server is starting.....");
		}catch(IOException e)
		{
			System.out.println("Error"+e);
		}
		while(true)
		{
			ServerThread st=new ServerThread(serversocket.accept(),intClient);
			st.start();
			intClient++;
		}
	}
}
class ServerThread extends Thread
{
	Socket server;
	int intCounter;
	public ServerThread(Socket socket,int num)
	{
		//创建服务器端Socket
		server=socket;
		intCounter=num;
	}
	public void run()
	{
		try
		{
			String msg;
			//由系统标准输入创建BufferedReader对象
			BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
			//由Socket输入流创建BufferedReader对象
			BufferedReader is=new BufferedReader(new InputStreamReader(server.getInputStream()));
			//由Socket输出流创建PrintWriter对象
			PrintWriter os=new PrintWriter(server.getOutputStream());
			System.out.println("[Client "+intCounter+"]:"+is.readLine());
			//从标准输入设备输入
			msg=sin.readLine();
			//如果输入bye,结束本次会话
			while(!msg.equals("bye"))
			{
				os.println(msg);
				os.flush();
				System.out.println("[I]:"+msg);
				System.out.println("[Client "+intCounter+"]:"+is.readLine());
				msg=sin.readLine();
			}
			System.out.println("The Talk End!");
			os.close();
			is.close();
			server.close();
		}catch(IOException e)
		{
			System.out.println("Error:"+e);
		}
	}
}

⌨️ 快捷键说明

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