局域网聊天 java_java实现简易局域网聊天功能
本文实例为大家分享了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();
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
局域网聊天 java_java实现简易局域网聊天功能相关推荐
- JAVA 局域网聊天_java实现简易局域网聊天功能
本文实例为大家分享了java使用udp模式编写聊天程序的具体代码,供大家参考,具体内容如下 java代码: /* 使用udp模式,编写一个聊天程序 有发送和接收数据2部分, 一个线程接收,一个线程发送 ...
- python语言视频-Python语言之Python3 实现简易局域网视频聊天工具
本文主要向大家介绍了Python语言之Python3 实现简易局域网视频聊天工具,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 操作系统为 Ubuntu 16.04,OpenCV ...
- Python3 实现简易局域网视频聊天工具
Python3 实现简易局域网视频聊天工具 1.环境 操作系统为 Ubuntu 16.04 python 3.5 opencv-python 3.4.1.15 numpy 1.14.5 PyAudio ...
- 简单java socket_基于Java Socket实现一个简易在线聊天功能(一)
最近做了一个项目,其中有一个在线网页交流的需求,好久没写代码了,手都生疏了,于是先写demo练练手,分享到脚本之家平台,以此做个记录,方便自己和大家使用. 先给大家说下实现步骤分这样几大步: 1.使用 ...
- Android实现强制下线(不同应用之间)功能————简易微信聊天示例
具体需要看具体的实际情况,这是曾经遇到的问题以及解决方案 实现强制下线(不同应用之间)功能----简易微信聊天示例 强制下线功能需要先关闭所有活动,然后在回到登录界面. 新建一个ActivityCol ...
- 使用Node+websocket实现简易1v1聊天室(前端+服务器)
使用Node+websocket实现简易1v1聊天室(前端+服务器) 前提: 安装好node环境~~~ 可使用 node -v 和 npm -v 查看是否装好 实现逻辑: 用户A 用户B 服务器 用户 ...
- 简易QQ聊天室,socket多线程编程(C语言实现),简单易懂
简易QQ聊天室 实现本功能,仅需了解socket套接字的使用,我已经将socket套接字的监听接受状态封装在了common.c中,相信你看了会有所收获,socket的连接也封装在common.c中. ...
- 基于WebServices简易网络聊天工具的设计与实现
基于WebServices简易网络聊天工具的设计与实现 Copyright 朱向洋 Sunsea ALL Right Reserved 一.项目内容 本次课程实现一个类似QQ的网络聊天软件的功能:服务 ...
- 斯是陋室(译文:虽是个简易的聊天室)
今天来分享一个简易小程序,也算是我个人的第一个小项目,具体介绍如下 一.项目名称 基于多线程的简易聊天室 二.实现功能 客户端连接到服务器,并与服务器之间进行交流,服务器可处理客户端的注册与退出事件: ...
- python实现一对一聊天_vue+django实现一对一聊天功能
vue+django实现一对一聊天和消息推送的功能.主要是通过websocket,由于Django不支持websocket,所以我使用了django-channels.考虑到存储量的问题,我并没有把聊 ...
最新文章
- 借组磁带机求第K小元素
- Ubuntu composer安装失败解决方案
- 苹果手机怎么清理听筒灰尘_安卓 | 让手机自动清理听筒扬声器灰尘,你试过了吗?...
- Python之深入解析一行代码计算每个省面积的神器Geopandas
- P3309-[SDOI2014]向量集【线段树,凸壳】
- 数据结构(三)之单链表反向查找
- Billboard HDU - 2795(树状数组,单点修改,区间查询)
- 广西全国计算机二级考试内容,全国高校计算机等级考试(广西考区)二级考试大纲.doc...
- shell 截取某个字符串之后的内容
- 脑语言v0.5.8 2500令【单字编程】
- 无人机项目跟踪记录七十七----蓝牙模块详解
- 【USACO】 录制唱片
- Linux驱动模块加载失败
- pytorch 介绍
- Spring Cloud与Dubbo优缺点详解
- top--查看服务器CPU及内存使用情况
- EEPROM,NAND,NOR,QSPI FLASH的区别
- 在Excel数据最后一行下面写入数据的一种方法
- 人人都是产品经理 - 苏杰 读书笔记
- 项目管理:项目经理如何创建项目日程计划表
热门文章
- 海康4200服务器进不去系统,ivms-4200客户端登入不了云服务器
- itx机箱尺寸_讲解 ATX M-ATX ITX 各种主板尺寸
- 地理空间数据云 如何预约下载数据 Landsat8
- [解读] GuiltyGearXrd‘s Art Style : The X Factor Between 2D and 3D - GGX 3D 渲染 2D 风格
- PLC江湖波澜不惊,自动化风云录!
- 带你穿越古罗马,元宇宙巴士来啦 #Invisible Cities
- Web前端第三季(JavaScript):十二:第4章: 表单校验案例:401-开发注册表单页面+402-表单提交事件和获取html元素+403-完成用户名和邮箱的校验
- 三星s8html查看器,三星S8/S8+ 刷机软件工具
- python中的chardet模块
- 差分探头和隔离探头有什么区别