激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

服務器之家 - 編程語言 - Java教程 - Java Socket實現單線程通信的方法示例

Java Socket實現單線程通信的方法示例

2020-11-22 22:50kongxx Java教程

這篇文章主要介紹了Java Socket實現單線程通信的方法,結合具體實例形式分析了java socket單線程通信的原理與客戶端、服務器端相關實現技巧,需要的朋友可以參考下

本文實例講述了Java Socket實現單線程通信的方法。分享給大家供大家參考,具體如下:

現在做Java直接使用Socket的情況是越來越少,因為有很多的選擇可選,比如說可以用spring,其中就可以支持很多種遠程連接的操作,另外jboss的remoting也是不錯的選擇,還有Apache的Mina等等,但是在有些時候一些特殊情況仍然逃脫不了直接寫Socket的情況,比如公司內部一些莫名其妙的游戲規則。

廢話不說了,下面就看看如果自己寫Socket應該怎么做吧。

首先是寫一個Server類,這個類用來監聽10000端口,并從這個端口接收消息然后輸出,當收到“bye”時退出。

?
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
package com.googlecode.garbagecan.test.socket.sample1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
  public static void main(String[] args) throws IOException {
    ServerSocket server = new ServerSocket(10000);
    Socket socket = server.accept();
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    PrintWriter out = new PrintWriter(socket.getOutputStream());
    while (true) {
      String msg = in.readLine();
      System.out.println(msg);
      out.println("Server received " + msg);
      out.flush();
      if (msg.equals("bye")) {
        break;
      }
    }
    socket.close();
  }
}

然后是一個Client類,這個類連接上面啟動的Server類,然后接收任何用戶輸入,當遇到回車時發送字符串到Server上,當輸入“bye”是退出。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.googlecode.garbagecan.test.socket.sample1;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class MyClient {
  public static void main(String[] args) throws Exception {
    Socket socket = new Socket("localhost", 10000);
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    PrintWriter out = new PrintWriter(socket.getOutputStream());
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    while (true) {
      String msg = reader.readLine();
      out.println(msg);
      out.flush();
      if (msg.equals("bye")) {
        break;
      }
      System.out.println(in.readLine());
    }
    socket.close();
  }
}

最后,首先運行MyServer類,然后MyClient類,然后在MyClient的控制臺輸入任意字符,可以看到當輸入bye是server和client都會退出。

希望本文所述對大家java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩精品一区二区三区不卡 | 91成人一区二区三区 | 激情在线观看视频 | 一级黄色影院 | 精品成人网| 免费国产一区二区视频 | 狠狠操视频网站 | 欧美精品第1页 | 中文字幕网在线 | 欧美性生交xxxxx免费观看 | 久久精品视频免费 | 秋霞a级毛片在线看 | 亚洲影院久久久av天天蜜桃臀 | 亚洲精品成人在线视频 | 日韩精品中文字幕在线播放 | 成人视屏网站 | 国产精品午夜未成人免费观看 | 爱唯侦察 国产合集 亚洲 | 国产精品99久久久久久久女警 | 中国a级黄色片 | av在线一区二区三区四区 | 精品一区二区久久久久久久网精 | 在线视频1区| 色日本视频 | 特大黑人videos与另类娇小 | 国产成人精品午夜视频' | 羞羞视频免费观看入口 | av电影在线免费观看 | 精品黑人一区二区三区国语馆 | 日本在线观看视频网站 | 毛片电影在线看 | 天天操很很操 | 国产羞羞视频在线观看免费应用 | 中国女警察一级毛片视频 | 欧美成人一区二区三区 | 午夜视频久久久 | 久久亚洲第一 | 久久久久久久久国产精品 | 性欧美极品xxxx欧美一区二区 | 激情久久一区二区 | 亚洲尻逼视频 |