Udp发送端和接收端
//UdpReceive.java
/*
定义udp的接收端。
思路:
1.定义udpSocket服务。一般会监听一个端口,事实上就是这个接收网络应用程序定义一个数字标示。
2.定义一个数据包。用来存储接收到的字节数据。
由于数据包对象中有特有功能能够提取字节数据中不同数据信息。 3.通过Socket服务的receive方法将收到的数据存入已定义好的数据包中。
4.通过数据包对象的特有功能将这些不同的数据取出。打印到控制台上。
5.关闭资源。 */ import java.net.*; public class UdpReceive
{
public static void main(String[] args) throws Exception
{
//1.创建udp socket,建立端点。
DatagramSocket ds =new DatagramSocket(10000); //2.定义数据包。用于存储数据。
byte[] buf = new byte[1024];
DatagramPacket dp =new DatagramPacket(buf,buf.length); //3.通过socket服务的receive方法将收到的数据存入数据包中。
ds.receive(dp); //4.通过数据包的方法获取当中的数据。 String ip = dp.getAddress().getHostAddress();
String data = new String(dp.getData(),0,dp.getLength());
int port = dp.getPort();
System.out.println(ip+":"+data+" port:"+port); //5.关闭资源。
ds.close(); }
}
//UdpSend.java
/*
定义udp的发送端。 需求:通过udp传输方式。将一段文字数据发送出去。
思路:
1.建立UDPSocket服务。
2.提供数据。并将数据封装到数据包中。
3.通过socket服务的发送功能,将数据包发出去。
4.关闭资源。
*/
import java.net.*; public class UdpSend
{
public static void main(String[] args) throws Exception
{
//1.创建udp服务。通过DatagramSocket对象。
DatagramSocket ds = new DatagramSocket(8888); //2.确定数据。并封装成数据包。
byte[] buf = " 网络连通了!!! ".getBytes();//将一个字符串转化为一个字节数组
DatagramPacket dp =
new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.111"),10000); //3.通过socket服务,将已有的数据包发送出去,通过send方法。
ds.send(dp); //4.关闭资源。
ds.close();
}
}
Udp发送端和接收端的更多相关文章
- java实现udp发送端和接收端
发送端: package demo02; import java.io.IOException; import java.net.DatagramPacket; import java.net.Dat ...
- c/c++ 网络编程 UDP 发送端 bind 作用
网络编程 UDP 发送端 bind 作用 upd 发送端 调用bind函数的效果:把socket特定到一个指定的端口,如果不调用bind,内核会随机分配一个端口. upd 发送端 调用bind函数的目 ...
- 基于C#的UDP通信(使用UdpClient实现,包含发送端和接收端)
UDP不属于面向连接的通信,在选择使用协议的时候,选择UDP必须要谨慎.在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重.但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小, ...
- 网络编程_UDP协议_发送端与接收端
创建UDP传输的发送端 : 1.建立udp的socket服务 2.将要发送的数据封装到数据包中 3.通过udp的socket服务 将数据包发送出去 4.关闭socket服务(因为调用了系统 ...
- python rabbitMQ 发送端和接收端广播模式。
消费者模型: import pika,time consumer = pika.BlockingConnection\ (pika.ConnectionParameters('localhost')) ...
- UDP接收端和发送端_Socket编程
UDP接收端 接收端启动文件 1 import java.net.DatagramSocket; 2 import java.net.SocketException; 3 4 public class ...
- Java基础知识强化之网络编程笔记04:UDP之发送端的数据来自于键盘录入案例
1. 数据来自于键盘录入 键盘录入数据要自己控制录入结束. 2. 代码实现: (1)发送端: package com.himi.updDemo1; import java.io.IOException ...
- C# TCP socket发送大数据包时,接收端和发送端数据不一致 服务端接收Receive不完全
简单的c# TCP通讯(TcpListener) C# 的TCP Socket (同步方式) C# 的TCP Socket (异步方式) C# 的tcp Socket设置自定义超时时间 C# TCP ...
- Java网络编程(UDP协议:发送端)
package WebProgramingDemo; import java.io.IOException; import java.net.DatagramPacket; import java.n ...
随机推荐
- B1202 [HNOI2005]狡猾的商人 并查集
其实就是并查集的题.维护一个前缀和,然后用并查集维护前缀和,每次判断是否合理就行了. 题干: Description 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的.账本上记录了 ...
- B3680 吊打xxx 物理???
看到一道很有意思的题,这个题简直有毒,是一道物理题...好像得用模拟退火...但显然我太弱了不会模拟退火,只能用正交分解暴力... 每次沿着力的方向走一定的距离,假如转头了,则走的步长就减小一点. 不 ...
- CSS--浏览器CSS Hack 收集
所谓的Hack就是只有特定浏览器才能识别这段hack代码.Hack 不是什么好东西,除非没有办法,我们尽量还是不要用着玩意. 下面是各个浏览器的CSS Hack 列表. Firefox 浏览器 @-m ...
- preg_replace数组的用法
$string = 'The quick brown fox jumped over the lazy dog.';$patterns = array();$patterns[2] = '/quick ...
- Python 40 数据库-约束
约束 1.什么是约束 ? 除了数据类型以外额外添加的约束 2.为什么要使用约束 ? 为了保证数据的合法性 完整性 分类: 1.not null 非空约束,数据不能为空----------------- ...
- thinkphp 上传多张图片
tp3.23 没有找到同时上传多张图片 手册有讲过:http://www.kancloud.cn/manual/thinkphp/1876 其实可以通过,多张图片多次上传来到达效果 hmlt: < ...
- BZOJ 2333 左偏树 (写得我人生都崩溃了...)
思路: 高一神犇 竟然 问我这道题 我光荣地 看着题解(划掉) 写了一下午 QaQ multiset不能erase(一个值) 这样就把等于这个值 的数都erase掉了 (woc我一开始不 ...
- C#中SetWindowPos函数详解
[DllImport("user32.dll")] private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWnd ...
- python3设置打开文件的编码
f = open(file_path,'r',encoding='utf8') 用起来很方便,不需要先读取再转码了.
- THREE.js代码备份——webgl - custom attributes [lines](自定义字体显示、控制字图的各个属性)
<!DOCTYPE html> <html lang="en"> <head> <title>three.js webgl - cu ...