java搭搭建建一一个个Socket服服务务器器响响应应多多用用户户访访问问
当我们搭建了一个Socket服务端,是需要去响应多用户的访问的。此时,我们就要使用多线 ,为每个访问的用户建立一个线
来响应该用户的访问。
具体实现,看如下代码:
package com.sun.socket;
import Java.io.IOException;
import java.NET.*;
import java.io.*;
import java.util.*;
/**
* Description:
* 搭建一个 ocket服务器响应多用户访问
* @author Lee
* */
public class erver ocketDemo {
ArrayList M G = new ArrayList<>();
ArrayList RE = new ArrayList<>();
/**
* Description:
* 初始化数据
* */
public void init(){
M G.add("hellow");
RE .add("hi");
}
/**
* Description:
* 搭建一个 ocket服务器响应多个用户访问
* */
public void test1(){
init();
erver ocket server = null;
try{
//以指定端口搭建一个 ocket服务端
server = new erver ocket(12000);
//等待客户端 ocket实例,并创建一个线 去响应该客户单实例
while(true){
new Response(server.accept()).start();;
}
}catch(IOException e){
e.print tackTrace();
}finally{
try{
server.close();
}catch(IOException e){
e.print tackTrace();
}
}
}
/**
* Description:
* 根据用户输入的内容,返回相应的内容
*
* @param msg 客户端输入的内容
* @return 返回服务端回复的内容
* */
public tring getMsg( tring msg){
tring res = "Are you kidding me?Please speak English.";
for(int i=1;i
if(msg.contains(M G.get(i))){
res = RE .get(i);
}
}
return res;
}
public static void main( tring[] args) {
// TODO Auto-generated method stub
new erver ocketDemo().test1();
}
/**
* Description:
* 响应用户
* @author Lee
* */
class Response extends Thread{
ocket client;
/**
* Description:
* 默认构造器
* */
public Response(){}
/**
* Description:
* 初始化 ocket
* */
public Response( ocket client){
this.client = client;
}
@Override
public void run(){