本文实例为大家分享了java使用UDP模式编写聊天程序的具体代码,供大家参考,具体内容如下
Java代码:
/* 使用UDP模式,编写一个聊天程序 有发送和接收数据2部分, 一个线程接收,一个线程发送 由于发送和接收动作是不一致的,所以要使用2个run方法 而且这两个方法要封装到不同的类中 本程序忽略了部分异常的处理,也未加入UI组件 这样比较简洁 发送端口9998 接受端口9999 用的是局域网广播地址,所以自己发的消息自己也收到了 [示例]:简易控制台聊天程序 */ import java.net.*; import java.io.*; class Demo { public static void main(String[] args) throws Exception { DatagramSocket sendSocket = new DatagramSocket(9998); //发送端 DatagramSocket receSocket = new DatagramSocket(9999); //接收端 new Thread(new MsgSend(sendSocket)).start(); //发送线程 new Thread(new MsgRece(receSocket)).start(); //接受线程 } } class MsgSend implements Runnable //发送 { private DatagramSocket dsock; public MsgSend(DatagramSocket dsock) { this.dsock= dsock; } public void run() { BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in)); String lineStr = null; try { while(true) { lineStr = bufr.readLine(); if(lineStr!=null) { if(lineStr.equals("over886")) { break; } else { byte[] dataBuf = lineStr.getBytes(); DatagramPacket dataPack = //数据打包 new DatagramPacket( dataBuf, dataBuf.length, InetAddress.getByName("192.168.1.255"), //广播 9999 //目标端口 ); dsock.send(dataPack); } } } bufr.close(); dsock.close(); } catch(Exception e) { throw new RuntimeException("发送失败!"); } } } class MsgRece implements Runnable //接收 { private DatagramSocket dsock; public MsgRece(DatagramSocket dsock) { this.dsock= dsock; } public void run() { try { while(true) { byte[] dataBuf = new byte[1024]; DatagramPacket dataPack = new DatagramPacket(dataBuf,dataBuf.length); dsock.receive(dataPack); //将获取的数据保存到指定的数据包 String ip = dataPack.getAddress().getHostAddress(); String data = new String(dataPack.getData(),0,dataPack.getLength()); int port = dataPack.getPort(); System.out.println(); System.out.println("来自ip为 "+ip+" <对方端口>: "+port+" 的消息"); System.out.println(data); } } catch(Exception e) { throw new RuntimeException("接受失败!"); } finally { dsock.close(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Nodejs实现多房间简易聊天室功能,包括了Nodejs实现多房间简易聊天室功能的使用技巧和注意事项,需要的朋友参考一下 1、前端界面代码 前端不是重点,够用就行,下面是前端界面,具体代码可到github下载。 2、服务器端搭建 本服务器需要提供两个功能:http服务和websocket服务,由于node的事件驱动机制,可将两种服务搭建在同一个端口下。 1、包描述文件:p
本文向大家介绍易语言局域网聊天程序制作,包括了易语言局域网聊天程序制作的使用技巧和注意事项,需要的朋友参考一下 用最简单的代码编写局域网聊天程序 打开易语言程序 新建一个窗口程序 在窗口中添加一个客户端组件、一个服务端组件、一个发送按钮和2个文本框,如下图所示。 将服务器的端口改成10000,整理组件位置。 输入按钮事件(如下图所示),链接服务端并发送信息给服务端 点击预览按钮弹出应用程序对话框,
本文向大家介绍nodejs和react实现即时通讯简易聊天室功能,包括了nodejs和react实现即时通讯简易聊天室功能的使用技巧和注意事项,需要的朋友参考一下 npx create-react-app socketio-demo 进入socketio-demo目录 运行eject进行拆包,本项目也可以不拆,这是个人习惯。 注意如果运行eject命令最好在项目初始阶段执行,已经开始编写后不要再使
本文向大家介绍java Socket简易聊天工具,包括了java Socket简易聊天工具的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了一款Socket简易聊天工具,希望大家喜欢。 代码运行如图,看起来还不错 服务端 客户端 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍php实现简易聊天室应用代码,包括了php实现简易聊天室应用代码的使用技巧和注意事项,需要的朋友参考一下 核心逻辑 在定义应用程序的核心功能之前,先来看一看聊天应用程序的基本外观,如以下截图所示: 通过聊天窗口底部的输入框输入聊天文本。点击Send按钮,就开始执行函数set_chat_msg。这是一个基于Ajax的函数,因此无需刷新页面就可以将聊天文本发送到服务器。程序在服务器中执行
我在Java中开发了一个使用TCP/IP进行聊天的应用程序。到目前为止,它在同一台机器上运行服务器和客户机时可以完成这项工作,但是我想让它在局域网上工作。 我发现我将在我的路由器上使用端口转发,与我在客户端中使用的端口相同 在我的Virgin媒体集线器路由器上,我用(4444)端口转发了我使用的端口,协议是TCP到我机器的本地IP(192.168.0.21)。我还确保没有端口被阻塞。 对于防火墙,
本文向大家介绍Android实现蓝牙聊天功能,包括了Android实现蓝牙聊天功能的使用技巧和注意事项,需要的朋友参考一下 蓝牙,时下最流行的智能设备传输数据的方式之一,通过手机app和智能设备进行连接,获取设备上的测量数据,我们生活中随处可见的比如蓝牙智能手环,蓝牙电子秤,蓝牙心电测量设备等等。 本篇我将紧接着上篇结尾所写,一起来看下手机之间如何通过蓝牙实现文字聊天。 先贴出上篇的一些demo;
本文向大家介绍vue + socket.io实现一个简易聊天室示例代码,包括了vue + socket.io实现一个简易聊天室示例代码的使用技巧和注意事项,需要的朋友参考一下 vue + vuex + elementUi + socket.io实现一个简易的在线聊天室,提高自己在对vue系列在项目中应用的深度。因为学会一个库或者框架容易,但要结合项目使用一个库或框架就不是那么容易了。功能虽然不多,