最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

UDP實現(xiàn)實時聊天

2021-02-15 10:18 作者:忘魂兒  | 我要投稿

package com.studying.JavaNet.Chat;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;

public class TalkSend implements Runnable{
? ?DatagramSocket datagramSocket=null;
? ?BufferedReader bufferedReader=null;
? ?private int toPort;//對方的ip和端口號
? ?private String toIP;
? ?private int fromPort;

? ?public TalkSend(int toPort, String toIP, int fromPort) {
? ? ? ?this.toPort = toPort;
? ? ? ?this.toIP = toIP;
? ? ? ?this.fromPort = fromPort;
? ? ? ?try {
? ? ? ? ? ?datagramSocket = new DatagramSocket(fromPort);
? ? ? ? ? ?bufferedReader = new BufferedReader(new InputStreamReader(System.in));

? ? ? ?} catch (SocketException e) {
? ? ? ? ? ?e.printStackTrace();
? ? ? ?}

? ?}

? ?@Override
? ?public void run() {
? ? ? ?while(true)//循環(huán)發(fā)送
? ? ? ?{
? ? ? ? ? ?try {
? ? ? ? ? ? ? ?String data = bufferedReader.readLine();
? ? ? ? ? ? ? ?byte[] datainf = data.getBytes();
? ? ? ? ? ? ? ?DatagramPacket datagramPacket = new DatagramPacket(datainf,0,datainf.length,new InetSocketAddress(this.toIP,this.toPort));
? ? ? ? ? ? ? ?datagramSocket.send(datagramPacket);
? ? ? ? ? ? ? ?if (data.equals("bye"))
? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ?}
? ? ? ? ? ?} catch (IOException e) {
? ? ? ? ? ? ? ?e.printStackTrace();
? ? ? ? ? ?}
? ? ? ?}

? ? ? ?datagramSocket.close();
? ?}
}

package com.studying.JavaNet.Chat;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class TalkReceive implements Runnable{
? ?DatagramSocket datagramSocket=null;
? ?private int port;
? ?private String msgFrom;
? ?public TalkReceive(int port,String msgFrom) {
? ? ? ?this.port = port;
? ? ? ?this.msgFrom=msgFrom;
? ? ? ?try {
? ? ? ? ? ?datagramSocket = new DatagramSocket(port);
? ? ? ?} catch (SocketException e) {
? ? ? ? ? ?e.printStackTrace();
? ? ? ?}
? ?}

? ?@Override
? ?public void run() {


? ? ? ?while(true)
? ? ? ?{
? ? ? ? ? ?try {
? ? ? ? ? ? ? ?byte[] container = new byte[1024];//接收
? ? ? ? ? ? ? ?DatagramPacket datagramPacket = new DatagramPacket(container,0,container.length);
? ? ? ? ? ? ? ?datagramSocket.receive(datagramPacket);//阻塞式接收包裹
? ? ? ? ? ? ? ?//斷開
? ? ? ? ? ? ? ?byte[] data = datagramPacket.getData();
? ? ? ? ? ? ? ?String recdata= new String(data, 0, data.length);
? ? ? ? ? ? ? ?System.out.println(msgFrom+":"+recdata);
? ? ? ? ? ? ? ?if (recdata.equals("leaving"))
? ? ? ? ? ? ? ?{
? ? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ? ? ?}
? ? ? ? ? ?} catch (IOException e) {
? ? ? ? ? ? ? ?e.printStackTrace();
? ? ? ? ? ?}

? ? ? ?}
? ? ? ?datagramSocket.close();
? ?}
}

package com.studying.JavaNet.Chat;

public class TalkUserone {
? ?public static void main(String[] args) {
? ? ? ?//開啟兩個線程
? ? ? ?new Thread(new TalkSend(22,"localhost",33)).start();//設立自己的發(fā)送端口和到達端口
? ? ? ?new Thread(new TalkReceive(2233,"UserOne")).start();//設立自己的接收端口
? ?}
}

package com.studying.JavaNet.Chat;

public class TalkUserOther {
? ?public static void main(String[] args) {
? ? ? ? ? ?new Thread(new TalkSend(2233,"localhost",1215)).start();
? ? ? ? ? ?new Thread(new TalkReceive(22,"UserTwo")).start();
? ?}
}
//師從狂神,僅供學習使用,未經(jīng)允許不得轉(zhuǎn)載

UDP實現(xiàn)實時聊天的評論 (共 條)

分享到微博請遵守國家法律
鱼台县| 宕昌县| 夏津县| 赤壁市| 琼结县| 商河县| 于田县| 云林县| 长治市| 巫山县| 渭源县| 元氏县| 彭水| 防城港市| 辽阳市| 信宜市| 孝感市| 远安县| 富裕县| 神木县| 庆城县| 邵武市| 乌苏市| 菏泽市| 绥中县| 余干县| 海原县| 南充市| 五指山市| 庆云县| 东兰县| 洪江市| 常山县| 庆城县| 抚远县| 额敏县| 阳城县| 金川县| 比如县| 融水| 天等县|