国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java搭建一個Socket服務器響應多用戶訪問

java搭建一個Socket服務器響應多用戶訪問

2020-08-10 19:07沈君 Java教程

本篇文章主要介紹了java搭建一個Socket服務器響應多用戶訪問,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

當我們搭建了一個Socket服務端,是需要去響應多用戶的訪問的。此時,我們就要使用多線程,為每個訪問的用戶建立一個線程來響應該用戶的訪問。

具體實現,看如下代碼:

java" id="highlighter_340629">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package com.sun.socket;
import Java.io.IOException;
import java.NET.*;
import java.io.*;
import java.util.*;
 
/**
* Description:
* 搭建一個Socket服務器響應多用戶訪問
* @author Lee
* */
public class ServerSocketDemo {
ArrayList MSG = new ArrayList<>();
ArrayList RES = new ArrayList<>();
 
/**
 * Description:
 * 初始化數據
 * */
public void init(){
  MSG.add("hellow");
  RES.add("hi");
}
 
/**
 * Description:
 * 搭建一個Socket服務器響應多個用戶訪問
 * */
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();
    }
 
  }
}
 
/**
 * Description:
 * 根據用戶輸入的內容,返回相應的內容
 *
 * @param msg 客戶端輸入的內容
 * @return 返回服務端回復的內容
 * */
public String getMsg(String msg){
  String res = "Are you kidding me?Please speak English.";
 
  for(int i=1;i<MSG.size();i++){
    if(msg.contains(MSG.get(i))){
      res = RES.get(i);
    }
  }
 
  return res;
}
 
 
public static void main(String[] args) {
  // TODO Auto-generated method stub
  new ServerSocketDemo().test1();
}
 
/**
 * Description:
 * 響應用戶
 * @author Lee
 * */
class Response extends Thread{
  Socket client;
 
  /**
   * Description:
   * 默認構造器
   * */
  public Response(){}
  /**
   * Description:
   * 初始化Socket
   * */
  public Response(Socket client){
    this.client = client;
  }
 
  @Override
  public void run(){
    Scanner input = null;
    PrintWriter output = null;
 
    try{
      //獲取用戶端的輸入和輸出流
      input = new Scanner(client.getInputStream());
      output = new PrintWriter(client.getOutputStream());
 
      output.println("歡迎訪問!");
      output.flush();
 
      //等待客戶端的輸入
      String content = null;
      while(input.hasNext()){
        content = input.nextLine();
 
        //根據用戶端的輸入,做出相應的反應
        if(content.equalsIgnoreCase("quit")){
          break;
        }else{
          output.println(getMsg(content));
          output.flush();
        }
      }
 
    }catch(IOException e){
      e.printStackTrace();
    }finally{
      //關閉資源
      input.close();
      output.close();
    }
 
 
  }
}
}

1、我們可以寫一個小小測試工具類,來測試一下public String getMsg(String msg)方法。

對該類右鍵,選擇new新建一個JUnit Test Case 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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

java搭建一個Socket服務器響應多用戶訪問

(2)設置線程屬性(線程數,循環次等)

java搭建一個Socket服務器響應多用戶訪問

(3)右鍵添加->simpler->HTTP請求

java搭建一個Socket服務器響應多用戶訪問

(4)設置屬性,點擊運行就可以進行壓力測試了。

java搭建一個Socket服務器響應多用戶訪問

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/qq1131410679/article/details/55051195

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 三级黄色片在线免费观看 | 91麻豆精品国产91久久久资源速度 | 一大道一二三区不卡 | 国产精品亚洲一区二区三区在线 | 国产精品日韩欧美 | 日本一区二区不卡在线观看 | 亚洲精品国产a久久久久久 99热少妇 | 成人在线免费网站 | 久久久久久久久久久福利观看 | 探花av在线| 中国一级黄色毛片视频 | 综合久久久久 | 国内精品久久久 | 91麻豆精品国产91久久久资源速度 | 国产黄色播放 | 精品一二三区 | 国产在线观看一区 | 亚洲天天操 | 亚洲福利国产 | 网站色 | 国产福利电影在线观看 | 一区二区三区日韩 | 欧美电影免费网站 | 九九热精品视频在线观看 | 国产精品久久久久久久久久久久久久 | 精品少妇一区二区三区日产乱码 | 亚洲精彩视频在线 | 亚洲精品永久视频 | 羞羞免费视频网站 | 中文字幕乱码亚洲精品一区 | 国产在线精品一区 | 色a综合 | 一级特黄a免费观看视频 | 91新视频| 大香伊蕉在人线视频777 | 国产免费av网站 | 婷婷精品久久久久久久久久不卡 | 一区二区三区国产视频 | 欧美日韩久久久 | av中文天堂 | 三级视频在线观看 |