电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天

瀏覽:126日期:2022-08-09 11:30:55

TCP可以實(shí)現(xiàn)聊天,UDP也可以實(shí)現(xiàn)消息發(fā)送及聊天。不同的是,TCP需要有服務(wù)端和客戶端的連接,但UDP不需要,只需要有發(fā)送方和接收方即可。

一、實(shí)現(xiàn)消息發(fā)送

發(fā)送方:

package com.kuang.lesson03;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;//不需要連接服務(wù)器public class UdpSenderDemo01 { public static void main(String[] args) throws Exception {//1、建議一個(gè)SocketDatagramSocket socket = new DatagramSocket();//2、建立包String msg = '你好啊,服務(wù)器!';InetAddress localhost = InetAddress.getByName('localhost');int port = 9090;//數(shù)據(jù)、數(shù)據(jù)的長度起始,要發(fā)送給誰DatagramPacket packet = new DatagramPacket(msg.getBytes(),0,msg.getBytes().length,localhost,port);//3、發(fā)送包socket.send(packet);//4、關(guān)閉流socket.close(); }}

接收方:

package com.kuang.lesson03;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;// 不是服務(wù)端,但是還是要等待客戶端的連接。// 也就是說只有存在這個(gè)才能獲得客戶端發(fā)來的消息public class UdpReceiveDemo01 { public static void main(String[] args) throws Exception {//開放端口DatagramSocket socket = new DatagramSocket(9090);//接收數(shù)據(jù)包byte[] buffer = new byte[1024];DatagramPacket packet = new DatagramPacket(buffer,0,buffer.length);socket.receive(packet);//阻塞接收System.out.println(packet.getAddress().getHostAddress());System.out.println(new String(packet.getData(),0,packet.getLength()));//關(guān)閉連接socket.close(); }}

運(yùn)行結(jié)果:

1、啟動(dòng)接收方開放端口,可以看到一直在運(yùn)行,也就是在等待消息發(fā)來。

Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天

2、啟動(dòng)發(fā)送方,可以看到運(yùn)行結(jié)束,說明消息已發(fā)送

Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天

3、查看接收方,收到消息。

Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天

既然UDP能實(shí)現(xiàn)消息發(fā)送,那么也可以實(shí)現(xiàn)聊天。

二、實(shí)現(xiàn)聊天

發(fā)送方:

package com.kuang.chat;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.net.SocketException;public class UdpSenderDemo01 { public static void main(String[] args) throws Exception {DatagramSocket socket = new DatagramSocket(8888);//準(zhǔn)備數(shù)據(jù),控制臺(tái)讀取System.inBufferedReader reader = new BufferedReader(new InputStreamReader(System.in));while (true) { String data = reader.readLine(); byte[] datas = data.getBytes(); DatagramPacket packet = new DatagramPacket(datas,0,datas.length,new InetSocketAddress('localhost',6666)); socket.send(packet); if (data.equals('bye')) {break; }}socket.close(); }}

接收方:

package com.kuang.chat;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;public class UdpReceiveDemo01 { public static void main(String[] args) throws Exception {DatagramSocket socket = new DatagramSocket(6666);while (true) { //準(zhǔn)備接收數(shù)據(jù) byte[] container = new byte[1024]; DatagramPacket packet = new DatagramPacket(container,0,container.length); socket.receive(packet);//阻塞式接受包裹 //斷開連接 bye byte[] data = packet.getData(); String receiveData = new String(data,0,data.length); System.out.println(receiveData); if (receiveData.equals('bye')) {break; }}socket.close(); }}

運(yùn)行結(jié)果:

1、先啟動(dòng)接收方

Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天

2、啟動(dòng)發(fā)送方

Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天

3、在發(fā)送方控制臺(tái)輸入信息并回車

Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天

4、查看接收方,可以看到信息

Java網(wǎng)絡(luò)編程UDP實(shí)現(xiàn)消息發(fā)送及聊天

這里只實(shí)現(xiàn)了單方面的發(fā)送,單方面的接收,要實(shí)現(xiàn)雙方的聊天

請看:【Java】網(wǎng)絡(luò)編程UDP 實(shí)現(xiàn)多線程在線聊天

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 华夏医界网_民营医疗产业信息平台_民营医院营销管理培训 | 股票入门基础知识_股票知识_股票投资大师_格雷厄姆网 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 钢格板|热镀锌钢格板|钢格栅板|钢格栅|格栅板-安平县昊泽丝网制品有限公司 | 污水/卧式/潜水/钻井/矿用/大型/小型/泥浆泵,价格,参数,型号,厂家 - 安平县鼎千泵业制造厂 | LNG鹤管_内浮盘价格,上装鹤管,装车撬厂家-连云港赛威特机械 | 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 离子色谱自动进样器-青岛艾力析实验科技有限公司 | 济南轻型钢结构/济南铁艺护栏/济南铁艺大门-济南燕翔铁艺制品有限公司 | 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 全自动烧卖机厂家_饺子机_烧麦机价格_小笼汤包机_宁波江北阜欣食品机械有限公司 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 | 甲级防雷检测仪-乙级防雷检测仪厂家-上海胜绪电气有限公司 | 引领中高档酒店加盟_含舍·美素酒店品牌官网| 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 温州中研白癜风专科_温州治疗白癜风_温州治疗白癜风医院哪家好_温州哪里治疗白癜风 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 礼堂椅厂家|佛山市艺典家具有限公司| 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 天津云仓-天津仓储物流-天津云仓一件代发-顺东云仓 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 今日热点_实时热点_奇闻异事_趣闻趣事_灵异事件 - 奇闻事件 | 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | 滤芯,过滤器,滤油机,贺德克滤芯,精密滤芯_新乡市宇清流体净化技术有限公司 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 玉米加工设备,玉米深加工机械,玉米糁加工设备.玉米脱皮制糁机 华豫万通粮机 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 |