多个客户同时连接ServerSocket的简单实现
来源:互联网 发布:正在准备windows win10 编辑:程序博客网 时间:2024/06/15 02:46
具体的代码如下:
服务器Socket
*****************************************************************************
public class Server extends ServerSocket {
private static final int SERVER_PORT = 10000;
public Server() throws IOException {
super(SERVER_PORT);
try{
System.out.println("启动服务器");
while(true){
Socket socket = this.accept();
new ServerThread(socket);//每当收到一个socket就创建一个线程
}
}catch(IOException e){
e.printStackTrace();
}
finally{
this.close();
}
}
public static void main(String args[]) throws IOException{
new Server();
}
}
****************************************************************************************************
线程类
public class ServerThread extends Thread{
private Socket client;
private BufferedReader in;
public ServerThread(Socket client) {
super();
this.client = client;
try {
this.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void run() {
try {
in = new BufferedReader(new InputStreamReader(
client.getInputStream()));// 得到客户端的输入流
System.out.println(in.readLine());//控制台输入信息
client.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
**********************************************************************************************************
客户端类
public class Client {
private Socket socket;
private PrintWriter out;//相当于向外写文件,所以用out
private static int count = 1;
public Client(String clientName) {
this.connect();
}
public Client() {
this(null);
this.connect();
}
public void connect() {
try {
socket = new Socket("127.0.0.1", 10000);
System.out.println("请输入信息:");
out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader line = new BufferedReader(new InputStreamReader(
System.in));// 从控制台输入信息
out.println(line.readLine());// 输入信息到服务器
out.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
new Client();
}
}
****************************************************************************************
测试方法,先运行Server,再运行Client
- 多个客户同时连接ServerSocket的简单实现
- 利用线程池实现ServerSocket的多客户端连接
- 能够同时处理多个客户的服务器
- 服务器同时处理多个客户示例
- JAVA Socket(多个客户同时连接,信息共享) client (java/ruby)
- select i/o + 多线程 实现多个客户连接
- ServerSocket多个客户端连接问题(原创,作者:cnzrs)
- Laravel框架实现同时连接多个数据库
- cocos2dx的runAction: 重复执行,多个动作连接执行,多个动作同时执行的实现(lua的应用)
- cocos2dx的runAction: 重复执行,多个动作连接执行,多个动作同时执行的实现
- cocos2dx的runAction: 重复执行,多个动作连接执行,多个动作同时执行的实现
- ServerSocket实现 一个简单的Web服务器 [引]
- PHP同时连接多个mysql数据库的问题
- ssh同时多个连接失败的问题
- SSH同时连接多个不同类型的数据库
- phpmyadmin同时连接多个服务器的数据库
- RabbitMQ客户连接池的实现
- java用ServerSocket类结合io流实现一对一聊天(java实现简单的TCP聊天程序只能用telnet连接后方可使用)
- 'IContextMenu' : no GUID has been associated with this object问题的解决
- js 正则表达式
- 定时器和复选框冲突?
- dell m14x 驱动 WIN7 64位
- Erlang 杂记
- 多个客户同时连接ServerSocket的简单实现
- 无路由器,vmware与主机配置通讯,开发板通讯
- vimrc 备份
- mmap测试
- hdu 2688 Rotate
- 汇编程序
- 临时
- 线性表基础知识(三)
- 数据库之间的沟通