⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysocketserver.java

📁 用不同方法实现聊天室功能的JAVA代码
💻 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 + -