五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java很詳細的個人解析版本:網(wǎng)絡(luò)編程,使用多線程實現(xiàn)1對1聊天,聊天室【詩書畫唱】

2020-08-07 00:33 作者:詩書畫唱  | 我要投稿

我和我文字的故事:開始寫作的契機是我想記錄我認為重要的一切!是為了不枉活過人生這一遭!是為了證明我曾存在過!


寫作過程中印象最深的一件事之一:我突然感覺自己目前的渺小,目前厲害的人太多了!但我要借目前雖渺小,但有的獨有優(yōu)勢變得比他們更厲害!而且要謙虛卻不自卑,卻不妄自菲薄,卻不懦弱,卻不膽小,卻不無動于衷等。自信膽大,卻不自傲,卻不自大等。




使用多線程實現(xiàn)1對1聊天

package dengLu;


import java.io.*;

import java.net.*;

import java.util.Scanner;

public class oneVoneFu {

public static void main(String[] args) throws Exception{


System.out.println("詩書畫唱SSHC,服務(wù)器端啟動,"

+ "\n請先輸入內(nèi)容,將會發(fā)給客戶端");

jieShouClass jieShouClass=new jieShouClass(33397);

// jieShouClass(int wofangduankou) ,

// 33397是接收客戶端發(fā)送給服務(wù)端時,服務(wù)端要用來接受

// 客戶端發(fā)來內(nèi)容的端口號,33397為服務(wù)端專門用來接受

// 客戶端發(fā)來內(nèi)容的端口號


faSongClass faSongClass=

new faSongClass(44497,11197,"localhost");

//44497為當前服務(wù)器發(fā)送給客戶端內(nèi)容時要用的本機端口號,

//11197為客戶本機端口號

new Thread(jieShouClass,"詩書畫唱").start();

new Thread(faSongClass).start();

}


}


package dengLu;


import java.util.*;

import java.io.*;

import java.net.*;

public class oneVoneKe {

public static void main(String[] args)throws Exception {


System.out.println("詩書畫唱,客戶端啟動");

jieShouClass jieShouClass=new jieShouClass(11197);


faSongClass faSongClass

=new faSongClass(22297,33397,"localhost");

// 這里的22297為端口號

new Thread(jieShouClass,"詩書畫唱SSHC").start();

new Thread(faSongClass).start();

}

}

//————

//將發(fā)送數(shù)據(jù)封為一個類,

//將接收數(shù)據(jù)封為一個類,

//在用戶不管是客戶端還是服務(wù)器端都開啟一個接收和發(fā)送的線程。

//————

class jieShouClass implements Runnable{

DatagramSocket DatagramSocket=null;

public jieShouClass(int benJiDuanKouHao){

try {

DatagramSocket=new DatagramSocket(benJiDuanKouHao);

} catch (SocketException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}


@Override

public void run() {

//接收數(shù)據(jù)也是死循環(huán)

while(true){

// byteArrayRead:用來讀對方輸入的內(nèi)容的字節(jié)數(shù)組

byte[] byteArrayRead=new byte[1024*60];

DatagramPacket DatagramPacket=

new DatagramPacket

(byteArrayRead, byteArrayRead.length);

try {

DatagramSocket.receive(DatagramPacket);

//解析數(shù)據(jù):

// byteArrayPrint:用來打印出讀出的對方發(fā)送過來的

// 內(nèi)容的字節(jié)數(shù)組

byte[] byteArrayPrint=DatagramPacket.getData();

int lenPrint=DatagramPacket.getLength();

// jieShouDaoDeNeiRong:接收到對方發(fā)來的內(nèi)容

String jieShouDaoDeNeiRong

=new String(byteArrayPrint,0,lenPrint);

if(jieShouDaoDeNeiRong.trim().equals("不聊了")){

break;

}

System.out.println(Thread.currentThread().getName()

+":"+jieShouDaoDeNeiRong);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}//:接收數(shù)據(jù)

}DatagramSocket.close();

}


}


class faSongClass implements Runnable{

private int wofangduankou,duiFangDuanKouHao;

String duiFangIP=null;

Scanner s=new Scanner(System.in);


//發(fā)送的對象:

// benJiDuanKouHao:本機端口號

// duiFangDuanKouHao:對方端口號

// duiFangIP:對方IP

DatagramSocket DatagramSocket=null;

public faSongClass(int benJiDuanKouHao,

int duiFangDuanKouHao,String duiFangIP){

this.duiFangDuanKouHao=duiFangDuanKouHao;

this.duiFangIP=duiFangIP;

try {

DatagramSocket=new?

DatagramSocket(benJiDuanKouHao);

} catch (SocketException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

@Override

public void run() {

while(true){

//打包數(shù)據(jù):

// shuRuNeiRong;輸入內(nèi)容

System.out.println(

// Thread.currentThread().getName()+

"——————\n"

+ "下面是評論區(qū)(請輸入你的內(nèi)容)\n"

+ "——————");

//System.out.println(

// Thread.currentThread().getName()+":");

String shuRuNeiRong=s.next();

DatagramPacket DatagramPacket

=new DatagramPacket(shuRuNeiRong.getBytes(),

shuRuNeiRong.getBytes().length,

new InetSocketAddress(duiFangIP,duiFangDuanKouHao));

if(shuRuNeiRong.trim().equals("不聊了")){

break;

}

try {

DatagramSocket.send(DatagramPacket);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

DatagramSocket.close();

}









}





Java很詳細的個人解析版本:網(wǎng)絡(luò)編程,使用多線程實現(xiàn)1對1聊天,聊天室【詩書畫唱】的評論 (共 條)

分享到微博請遵守國家法律
五河县| 武邑县| 房产| 湘西| 阳信县| 镇康县| 玛多县| 永胜县| 漾濞| 余干县| 秦安县| 汶上县| 安顺市| 教育| 哈尔滨市| 大石桥市| 偃师市| 沾益县| 锡林郭勒盟| 阳新县| 射洪县| 吉木乃县| 淮北市| 冕宁县| 塘沽区| 启东市| 余干县| 梧州市| 新化县| 永城市| 获嘉县| 郓城县| 安阳县| 临高县| 平舆县| 南安市| 常山县| 曲阳县| 渭源县| 安岳县| 上杭县|