📄 net17_5.java
字号:
/**
* Filename:Net17_5
* Description:
* Copyright: Copyright (c) 2002
* Company:
* @author:Liyunshan
* @version 1.0
*/
import java.net.*;
import java.io.*;
class SocketThread extends Thread
{
private Socket socket;
private BufferedReader input;
private BufferedReader in;
private PrintWriter out;
public SocketThread(Socket s) throws IOException
{
socket = s;
input = new BufferedReader(new InputStreamReader(System.in));
in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(
new OutputStreamWriter(socket.getOutputStream()));
start(); //调用run()
}
public void run()
{
try
{
String serverString = null;
String clientString = null;
System.out.println(socket.getInetAddress().getHostAddress() +
" connected.");
System.out.print("Server : ");
serverString = input.readLine();
boolean done = false;
while (!done)
{
if (serverString != null)
{
out.println(serverString);
out.flush();
}
clientString = in.readLine();
if (clientString != null)
System.out.println(Thread.currentThread().getName()+" Client : " + clientString);
System.out.print(Thread.currentThread().getName()+"Server : ");
serverString = input.readLine();
if (serverString.equals("bye")) done = true;
}
}
catch (IOException e){}
finally
{
try { socket.close(); }
catch (IOException e){}
}
}
}
public class Net17_5
{
public static void main(String args[]) throws IOException
{
ServerSocket serverSocket = new ServerSocket(3434);
System.out.println("Hello! Enter bye to exit.");
try
{
while (true)
{
Socket server = serverSocket.accept();
try
{
new SocketThread(server);
}
catch (IOException e) { server.close();}
}
}
finally { serverSocket.close(); }
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -