📄 mysocketserver.java
字号:
/*
* MySocketServer.java
*
* Created on 2007年10月27日, 下午1:51
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package chatroom;
import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;
public class MySocketServer {
public static void main(String[] args) {
ServerService MyServer = new ServerService(8000, 10);
}
}
class ServiceThread
extends Frame
implements Runnable {
ServerService FatherListener;
Socket ConnectedClient;
Thread ConnectThread;
Panel ListenerPanel;
TextArea ServerMeg;
public ServiceThread(ServerService sv, Socket s) {
FatherListener = sv;
ConnectedClient = s;
ConnectThread = new Thread(this);
setTitle("Answer Client");
setLayout(new BorderLayout());
ServerMeg = new TextArea(10, 50);
add("Center", ServerMeg);
setResizable(false);
pack();
show();
InetAddress ClientAddress = ConnectedClient.getInetAddress();
ServerMeg.appendText("Client connected" + "from\n" + ClientAddress.toString() +
".\n");
}
public void run() {
try {
DataInputStream in = new DataInputStream(new BufferedInputStream(
ConnectedClient.getInputStream()));
PrintStream out = new PrintStream(new
BufferedOutputStream(ConnectedClient.
getOutputStream()));
out.println("Hello!Wellcome connect to our server!\r");
out.flush();
String s = in.readLine();
while (!s.equals("Bye")) {
ServerMeg.appendText("Client端输入的信息为:\n" + s);
s = in.readLine();
}
ConnectedClient.close();
}
catch (Exception e) {}
FatherListener.addMeg("Client" + "close." + "\n");
dispose();
}
}
class ServerService
extends Frame {
ServerSocket m_sListener;
TextArea ListenerMeg;
public ServerService(int Port, int Count) {
try {
m_sListener = new ServerSocket(Port, Count);
setTitle("Server Listener");
this.addWindowListener(new WinAdpt());
setLayout(new BorderLayout());
ListenerMeg = new TextArea("监听服务已经启动\n",10,50);
add("Center", ListenerMeg);
setResizable(false);
pack();
show();
while (true) {
Socket Connected = m_sListener.accept();
InetAddress ClientAddress = Connected.getInetAddress();
ListenerMeg.appendText("Client" + "connected" + "from\n" +
ClientAddress.toString() + ".\n");
ServiceThread MyST = new ServiceThread(this,Connected);
MyST.ConnectThread.start();
}
}
catch (IOException e) {}
}
public void addMeg(String s) {
ListenerMeg.appendText(s);
}
}
class WinAdpt
extends WindowAdapter {
public void windowClosing(WindowEvent e) {
( (Frame) e.getWindow()).dispose();
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -