threadedechoserver.java
来自「java socket编程的演示程序」· Java 代码 · 共 70 行
JAVA
70 行
package socket;
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class ThreadedEchoServer {
public static void main(String[] args)
{
try
{
int i=1;
ServerSocket s=new ServerSocket(8189);
while(true)
{
Socket incoming=s.accept();
System.out.println("Spawning "+i);
Runnable r=new ThreadedEchoHandler(incoming,i);
Thread t=new Thread(r);
t.start();
i++;
}
}catch(IOException e)
{
e.printStackTrace();
}
}
}
class ThreadedEchoHandler implements Runnable
{
Socket incoming;
int counter;
public ThreadedEchoHandler(Socket i,int c)
{
incoming=i;counter=c;
}
public void run()
{
try
{
try{
InputStream inStream=incoming.getInputStream();
OutputStream outStream=incoming.getOutputStream();
BufferedReader in=new BufferedReader(new InputStreamReader(inStream));
PrintStream out=new PrintStream(outStream);
out.println("Hello!Enter BYE to exit.");
boolean done=false;
while(!done)
{
String line=in.readLine();
out.println("Echo: "+line);
if(line.trim().equals("BYE"))
done=true;
}
}
finally
{
incoming.close();
}
}catch(IOException e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?