- 浏览: 2196812 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1240)
- mac/IOS (287)
- flutter (1)
- J2EE (115)
- android基础知识 (582)
- android中级知识 (55)
- android组件(Widget)开发 (18)
- android 错误 (21)
- javascript (18)
- linux (70)
- 树莓派 (18)
- gwt/gxt (1)
- 工具(IDE)/包(jar) (18)
- web前端 (17)
- java 算法 (8)
- 其它 (5)
- chrome (7)
- 数据库 (8)
- 经济/金融 (0)
- english (2)
- HTML5 (7)
- 网络安全 (14)
- 设计欣赏/设计窗 (8)
- 汇编/C (8)
- 工具类 (4)
- 游戏 (5)
- 开发频道 (5)
- Android OpenGL (1)
- 科学 (4)
- 运维 (0)
- 好东西 (6)
- 美食 (1)
最新评论
-
liangzai_cool:
请教一下,文中,shell、C、Python三种方式控制led ...
树莓派 - MAX7219 -
jiazimo:
...
Kafka源码分析-序列5 -Producer -RecordAccumulator队列分析 -
hp321:
Windows该命令是不是需要安装什么软件才可以?我试过不行( ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
hp321:
Chenzh_758 写道其实直接用一下代码就可以解决了:JP ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
huanghonhpeng:
大哥你真强什么都会,研究研究。。。。小弟在这里学到了很多知识。 ...
android 浏览器
package com.iaiai.test; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.Scanner; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * * <br/> * Title: Main.java<br/> * E-Mail: 176291935@qq.com<br/> * QQ: 176291935<br/> * Http: iaiai.iteye.com<br/> * Create time: 2013-1-29 上午11:41:09<br/> * <br/> * * @author 丸子 * @version 0.0.1 */ public class Main { private DatagramSocket ds; private int port; public Main(int port) throws IOException { this.port = port; ds = new DatagramSocket(port); // ds.setBroadcast(true); } public static void main(String[] args) throws Exception { int port = 9876; Main main = new Main(port); main.start(); } void start() throws Exception { startServer(); Scanner scanner = new Scanner(System.in); String name = ""; while (name.isEmpty()) { System.out.print("请输入名称:"); name = scanner.nextLine(); } String msg = ""; while (!"exit".equalsIgnoreCase(msg)) { if (!msg.isEmpty()) { send(name, msg); } System.out.print("输入消息:>"); msg = scanner.nextLine(); } System.exit(0); } private void send(String name, String msg) throws IOException { String sendMsg = encoder(name) + "," + encoder(msg); try { byte[] buf = sendMsg.getBytes("UTF-8"); DatagramPacket dp = new DatagramPacket(buf, buf.length); dp.setSocketAddress(new InetSocketAddress("255.255.255.255", port)); ds.send(dp); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } private static String encoder(String str) { try { return URLEncoder.encode(str, "UTF-8"); } catch (UnsupportedEncodingException e) { return ""; } } private void startServer() throws SocketException { ExecutorService threadPool = Executors.newCachedThreadPool(); threadPool.submit(new UdpReceive(ds)); } static class UdpReceive implements Runnable { private DatagramSocket ds; UdpReceive(DatagramSocket ds) { this.ds = ds; } @Override public void run() { byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf, buf.length); while (true) { try { ds.receive(dp); String str = new String(dp.getData(), dp.getOffset(), dp.getLength()); String[] msgs = str.split(","); String name = decode(msgs[0]); String msg = decode(msgs[1]); System.out.println(name + " 说:" + msg + " (" + dp.getSocketAddress() + ")"); // System.out.println("收到来自:"+dp.getSocketAddress()+"的消息 "+new // String(dp.getData(),dp.getOffset(),dp.getLength())); } catch (IOException e) { e.printStackTrace(); } } } private static String decode(String str) { try { return URLDecoder.decode(str, "UTF-8"); } catch (UnsupportedEncodingException e) { return ""; } } } }
发表评论
-
小程序textarea完美填坑
2020-07-07 16:09 521相信做微信小程序的码友们都被textarea这个原生组件坑过 ... -
Nginx+Https自己敲命令生成证书
2020-05-18 09:35 947一、准备 环境:centos6.8 ... -
https证书生成环境搭建配置(基于Tomcat和Nginx)
2020-04-24 11:06 821一、基于Tomcat、JDK内置密钥工具: 1、生成服务端证 ... -
史上最强Tomcat8性能优化
2019-11-01 21:41 885授人以鱼不如授人以渔 ... -
SpringBoot配置HTTPS,并实现HTTP访问自动转HTTPS访问
2019-10-07 09:13 5611.使用jdk自带的 keytools 创建证书 打开cmd ... -
Spring Boot工程集成全局唯一ID生成器 UidGenerator
2019-09-16 09:04 856概述 流水号生成器(全局唯一 ID生成器)是服务化系统的基础 ... -
CentOS7下Redis的安装与使用
2019-08-17 11:45 606一、手动安装过程 1、准备工作(安装gcc依赖) yum ... -
Nginx与tomcat组合的简单使用
2019-08-17 10:05 430配置tomcat跳转 请求http出现400的时候在这里配置 ... -
linux下lvs+keepalived安装配置
2019-07-10 14:20 463keepalived主机:192.168.174. ... -
使用Docker搭建Tomcat运行环境
2019-02-08 21:32 4881 准备宿主系统 准备一 ... -
Netty笔记-GlobalEventExecutor
2019-02-06 23:00 6371.概念 /** * Single-thread si ... -
Netty4转发服务的实现方案
2019-02-06 15:03 1135如果用Netty做转发服务(不需要同步应答),Netty中有一 ... -
java手机号归属地查询
2018-12-25 17:16 746所需的包:carrier-1.75.jar 、geocoder ... -
基于Netty4的HttpServer和HttpClient的简单实现
2018-10-17 20:02 689Http 消息格式: Http request: Met ... -
javafx : 支持使用微调(spinner)控制的数字的文本框(NemberTextField)
2018-10-16 00:00 1093最近花了一些时间学习javaFX, 要更深入地理解新GUI包, ... -
我的Java(定制你的Java/JavaFX Runtime)
2018-10-12 23:29 678最新的JDK 11发布了,撒花 新版本的JDK终于有了ope ... -
javaFX的几个新特性,让swing彻底过时
2018-10-12 22:42 667首先声明,Java的GUI曾经 ... -
mac os系统用install4j把jar包生成app
2018-10-05 23:02 1428install4j有windows版也有mac版 mac电脑 ... -
JavaFX Alert对话框
2018-10-05 22:01 23661. 标准对话框 消息对话框 Alert alert = ... -
IDEA Properties中文unicode转码问题
2017-02-17 19:54 1034摘要: 如何让IDEA的properties中的中文进行uni ...
相关推荐
下面将详细介绍如何使用UDP在Android上实现局域网聊天功能。 首先,我们需要了解UDP的基础知识。UDP是一种无连接的、不可靠的传输协议,它不保证数据包的顺序、完整性和可靠性,但正因为如此,它的传输速度比TCP...
【基于UDP的简单局域网聊天室框架】是一种利用UDP(User Datagram Protocol)协议实现的简易聊天室系统,适用于初学者学习网络编程。这个框架主要实现了基础的群聊功能,包括用户上线、下线以及成员列表的变化显示。...
在本文中,我们将深入探讨如何使用Java实现一个局域网内的多用户聊天应用程序,这是一个非常适合初学者学习UDP多播基础知识的项目。通过分析这个开源项目,我们可以了解到如何利用Java网络编程API来创建一个简单的...
【C# UDP无服务器端局域网聊天程序】是一个基于C#编程语言开发的简易聊天应用,它利用了用户数据报协议(UDP)在局域网内实现无服务器的通信方式,允许用户进行私聊和群聊。由于UDP是一种无连接的协议,它不保证数据...
这可能通过设置服务器作为中心节点,或者使用UDP广播实现,每个设备都可以发送并接收其他设备的消息。 3. **WiFi直连技术**:在没有互联网的情况下,Android提供了WiFi直连(Wi-Fi Direct)技术,允许设备间直接...
标题中的“使用C#编写的UDP协议局域网聊天软件”揭示了该程序的核心技术和应用场景。UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议,它以较小的开销提供快速的数据传输,适合实时性要求高的应用...
本文将深入探讨易语言在实现局域网群聊功能方面的应用,以及相关知识点。 首先,我们需要理解局域网群聊的基本概念。局域网群聊是指在同一网络环境下(如公司内部网络或家庭网络),多个用户通过特定的软件或协议...
在本文中,我们将深入探讨如何使用QT库来实现基于UDP的局域网群聊应用。 QT是一个跨平台的应用程序开发框架,特别适合用于创建图形用户界面和网络应用程序。它提供了丰富的API,使得开发者可以方便地处理网络通信,...
为了应付老师随便写了个,很简单。! 所以传上来了 MFC UDP 群聊 局域网 广播
在这个“易语言局域网群聊源码.rar”压缩包中,包含了实现局域网内多用户聊天功能的源代码。下面将详细介绍这个源码中的关键知识点。 首先,我们需要理解局域网(LAN)通信的基本原理。局域网是将有限范围内的...
Java编程语言在实现网络通信时,常常会使用到两种主要的传输协议:UDP(User Datagram Protocol)和TCP(Transmission Control Protocol)。本项目是基于这两种协议实现的局域网聊天程序,具备私聊和群聊功能,尽管...
c# 广播代码 基于局域网的udp聊天软件 能实现群聊
UDP局域网聊天室的实现涉及到了网络编程的基础知识,主要使用了用户数据报协议(UDP)进行通信。UDP是一种无连接的、不可靠的传输层协议,它不保证数据包的顺序到达或重传丢失的包,但因其低延迟和高效性,在局域网...
在本文中,我们将深入探讨如何使用...通过`udpser.c` 和 `udpcli.c` 文件的实现,我们可以学习到如何在Linux环境中使用UDP进行通信,并实现多客户端的实时信息交换。这个项目是学习网络编程和进程间通信的一个好起点。
3. **多播与广播**:UDP支持多播和广播,这在局域网内尤其有用。多播可以将消息一次性发送给多个接收者,广播则是发送给所有网络中的设备。在聊天程序中,多播可以用于群聊或者公告发布。 4. **套接字编程**:在...
标题中的“基于UDP连接的局域网聊天程序 类似QQ”指的是一个仿QQ的聊天软件,它使用了用户数据报协议(UDP)在局域网内实现通信功能。UDP是一种无连接的、不可靠的传输层协议,常用于实时应用,如语音聊天和在线游戏...
此外,为了防止广播风暴,软件可能还需要实现一种有效的组播策略,使得消息只被发送到目标用户或群聊成员,而不是整个网络。 Website for Login 可能是指该聊天软件提供了一个Web界面供用户登录。这通常是通过Web...
- **多播与广播**:UDP支持多播和广播,允许一个消息同时发送给多个接收者,这对于构建聊天室或群聊功能非常有用。 - **数据包编码与解析**:为了确保不同客户端间的数据交换,需要定义一套消息格式,包括消息头、...
2.发送消息使用UDP,传送文件使用TCP 3.用户上线时,自动发送广播消息,而后在双方好友列表里可以互相看见 4.支持更改用户名 5.默认用户名为机器名 代码里注释写得很多,初学TCP和UDP的朋友可以此做参考。 有兴趣的...
这个项目利用了C语言的高效性和UDP(User Datagram Protocol)的简单与快速特性,来实现基本的通信功能,包括注册、登录、私聊、群聊、在线用户列表展示、下线通知以及重复登录提示。以下是对这些知识点的详细解释:...