栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java搭建一个Socket服务器响应多用户访问

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java搭建一个Socket服务器响应多用户访问

当我们搭建了一个Socket服务端,是需要去响应多用户的访问的。此时,我们就要使用多线程,为每个访问的用户建立一个线程来响应该用户的访问。

具体实现,看如下代码:

package com.sun.socket; 
import Java.io.IOException; 
import java.NET.*; 
import java.io.*; 
import java.util.*;

 
public class ServerSocketDemo { 
ArrayList MSG = new ArrayList<>(); 
ArrayList RES = new ArrayList<>();


public void init(){
  MSG.add("hellow");
  RES.add("hi");
}


public void test1(){
  init();
  ServerSocket server = null;

  try{
    //以指定端口搭建一个Socket服务端
    server = new ServerSocket(12000);  

    //等待客户端Socket实例,并创建一个线程去响应该客户单实例
    while(true){
      new Response(server.accept()).start();;
    }

  }catch(IOException e){
    e.printStackTrace();
  }finally{
    try{
      server.close();
    }catch(IOException e){
      e.printStackTrace();
    }

  }
}


public String getMsg(String msg){
  String res = "Are you kidding me?Please speak English.";

  for(int i=1;i

1、我们可以写一个小小测试工具类,来测试一下public String getMsg(String msg)方法。

对该类右键,选择new新建一个JUnit Test Case 。

package com.sun.socket;
import org.junit.Assert;
import org.junit.Test;
public class ServerSocketDemoTest {
  @Test
  public void testGetMsg() {
    try{
      //调用该方法,并与其目标值进行对比。
      String msg = new ServerSocketDemo().getMsg("在吗");
      Assert.assertEquals("gun!", msg);

    }catch(Exception e){
      e.printStackTrace();
    }
  }

}

2、使用apche JMeter工具对该服务端进行压力测试

(1)打开Apache JMeter,右键测试计划->添加->Threads(Users)->Setup Thread Group

 

(2)设置线程属性(线程数,循环次等)


(3)右键添加->simpler->HTTP请求

 

(4)设置属性,点击运行就可以进行压力测试了。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/147736.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号