日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【Java线程】多线程实现简单的一对一聊天

發布時間:2024/4/14 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java线程】多线程实现简单的一对一聊天 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現原理:
1、主方法:在主方法中構建一個輸入流接收鍵盤的輸入,根據接收到的輸入信息判定角色是服務器端還是客戶端;然后構建相應的socket,開啟線程;
2、線程-堅守鍵盤陣地:接收鍵盤的輸入,將從鍵盤輸入的信息寫入到網絡中去;
3、線程-堅守網絡陣地:從網絡中讀入信息,并將其打印到控制臺;

代碼示例:
GoodTcp.java:

package com.lmb; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket;public class GoodTcp {public static void main(String[] args) throws Exception {System.out.println("請輸入IP和端口號,或直接輸入端口號:");System.out.println("例如:192.168.0.2,8888或者8888");//構建輸入流接收鍵盤的輸入,從輸入的信息判斷是服務器端還是客戶端String[] ss=new BufferedReader(new InputStreamReader(System.in)).readLine().split(",");Socket skt=null;if (ss.length==1) {//服務器端skt=new ServerSocket(Integer.parseInt(ss[0])).accept();}else {//客戶端端skt=new Socket(ss[0],Integer.parseInt(ss[1]));}new KeyTcp(skt).start();//將堅守鍵盤陣地的線程開啟new NetTcp(skt).start();//將堅守網絡陣地的線程開啟} } /*** 堅守鍵盤陣地,功能:接受鍵盤的輸入,將從鍵盤寫入的信息輸出到網絡中去*/ class KeyTcp extends Thread{private Socket skt;public KeyTcp(Socket skt) {this.skt=skt;}public void run() {try {//構建輸入流接收鍵盤的輸入BufferedReader br=new BufferedReader(new InputStreamReader(System.in));//構建輸出流,將從鍵盤接收的信息寫入到網絡PrintWriter pw=new PrintWriter(skt.getOutputStream());for (;;) {String s=br.readLine();if (s==null) break;pw.println(s);pw.flush();}} catch (Exception e) {e.printStackTrace();}} }/*** 堅守網絡陣地,功能:從網絡中讀入信息,并將其打印到控制臺*/ class NetTcp extends Thread{private Socket skt;public NetTcp(Socket skt) {this.skt=skt;}public void run() {try {//構建輸入流,從網絡中讀入信息,并將其打印到控制臺BufferedReader br=new BufferedReader(new InputStreamReader(skt.getInputStream()));for (;;) {System.out.println(br.readLine());}} catch (Exception e) {System.out.println("對方下線或者掉線……");}} }

運行結果:

總結

以上是生活随笔為你收集整理的【Java线程】多线程实现简单的一对一聊天的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。