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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - Java教程 - Java Socket實(shí)現(xiàn)單線程通信的方法示例

Java Socket實(shí)現(xiàn)單線程通信的方法示例

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

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

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

現(xiàn)在做Java直接使用Socket的情況是越來越少,因?yàn)橛泻芏嗟倪x擇可選,比如說可以用spring,其中就可以支持很多種遠(yuǎn)程連接的操作,另外jboss的remoting也是不錯(cuò)的選擇,還有Apache的Mina等等,但是在有些時(shí)候一些特殊情況仍然逃脫不了直接寫Socket的情況,比如公司內(nèi)部一些莫名其妙的游戲規(guī)則。

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

首先是寫一個(gè)Server類,這個(gè)類用來監(jiān)聽10000端口,并從這個(gè)端口接收消息然后輸出,當(dāng)收到“bye”時(shí)退出。

?
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();
  }
}

然后是一個(gè)Client類,這個(gè)類連接上面啟動(dòng)的Server類,然后接收任何用戶輸入,當(dāng)遇到回車時(shí)發(fā)送字符串到Server上,當(dāng)輸入“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();
  }
}

最后,首先運(yùn)行MyServer類,然后MyClient類,然后在MyClient的控制臺(tái)輸入任意字符,可以看到當(dāng)輸入bye是server和client都會(huì)退出。

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品18久久久久久久久久久久 | 精品不卡 | 99伊人网| 在线免费观看黄色 | 色偷偷888欧美精品久久久 | 日韩精品| av资源中文在线 | 在线日韩一区二区 | 久久久亚洲精品一区二区三区 | 亚洲一区久久 | 久久久99久久 | 亚洲精品国产a久久久久久 中文字幕在线第一页 | 一级黄色大片在线 | 久久精品视频免费观看 | 久草网站 | 午夜三区 | 成人午夜精品一区二区三区 | 中文字幕日韩欧美一区二区三区 | 天天色视频 | 久久精品一级毛片 | 国产成人av一区 | 不用播放器的毛片 | 成人精品一区二区三区 | 日韩精品av一区二区三区 | 国产成人精品久久二区二区91 | 免费一区 | 午夜精品久久久久久久男人的天堂 | 精品欧美乱码久久久久久1区2区 | 国产精品久久久久久亚洲调教 | 成人影院在线 | 久久久www成人免费无遮挡大片 | 亚洲精品视频免费 | 高清国产午夜精品久久久久久 | 视频一区在线 | 亚洲国产精品成人女人久久久 | 青青草久久久 | 亚洲一区二区中文字幕 | 国产在线精品一区 | 免看一级一片 | 在线精品一区 | 国产精品18久久久久久久久 |