发送

package cn.stat.p4.ipdemo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.SocketException;
import java.net.UnknownHostException; public class netdemo { /**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//建立socket对像
System.out.println("发送启动");
senddata(); }
//发送数据
public static void senddata() throws SocketException, UnknownHostException,
IOException {
DatagramSocket ds=new DatagramSocket(); BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in)); String line=null; while((line=bfr.readLine())!=null)
{
//封装要发送的数据
if(line.equals("over"))
break;
byte[] buf=line.getBytes();
DatagramPacket dp=new DatagramPacket(buf, buf.length,InetAddress.getByName("192.168.1.104"), 1000); //通过udp发送
ds.send(dp);
} ds.close();
} //获得本机ip
public static void getip() throws UnknownHostException {
InetAddress ip =InetAddress.getLocalHost(); System.out.println(ip.getHostAddress());
} }

接收

package cn.stat.p4.ipdemo;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException; public class jieshoudemo { /**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
while(true){
jieshou();
} } public static void jieshou() throws SocketException, IOException {
System.out.println("接受启动");
//建立接收socket
DatagramSocket ds= new DatagramSocket(1000);
//创建数据包
byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf, buf.length); //使用接收方法将数据存储到数据包中
ds.receive(dp); //通过数据包解析获取其中数据,如地址,端口,数据内容
String ip=dp.getAddress().getHostAddress();
int port=dp.getPort();
String txt=new String(dp.getData(),0,dp.getLength()); System.out.println(ip+":"+port+":"+txt); ds.close();
} }

java下udp的DatagramSocket 发送与接收的更多相关文章

  1. Java中udp/tcp的发送和接收

    InetAddress UDP例程: 发送数据: 接收数据: 结果: TCP例程: 发送数据: 接收数据: 结果:

  2. Udp广播的发送和接收(iOS + AsyncUdpSocket)下篇

    接上篇C#的Udp广播的发送和接收 http://www.cnblogs.com/JimmyBright/p/4637090.html ios中使用AsyncUdpSocket处理Udp的消息非常方便 ...

  3. C#中UDP数据的发送、接收

    Visual C# UDP数据的发送、接收包使用的主要类及其用法: 用Visual C# UDP协议的实现,最为常用,也是最为关键的类就是UdpClient,UdpClient位于命名空间System ...

  4. udp网络程序-发送、接收数据

    1. udp网络程序-发送数据 创建一个基于udp的网络程序流程很简单,具体步骤如下: 创建客户端套接字 发送/接收数据 关闭套接字 代码如下: #coding=utf-8from socket im ...

  5. Udp广播的发送与接收(C#+UdpClient) 上篇

    简介: Udp广播消息用在局域网的消息传递很方便.本文使用UdpClient类在WPF下实现Udp广播收发 发送: void MainWindow_Loaded(object sender, Rout ...

  6. NBIOT实现UDP协议的发送和接收(包含软件升级)

    源码下载: nbiot_module程序(java netbean) -> 提取码 UdpServer程序(C# vs2010) -> 提取码 QQ:505645074 前提条件:开NB卡 ...

  7. 【python】udp 数据的发送和接收

    import socket def send_message(): # 创建一个udp套接字 udp_socker = socket.socket(socket.AF_INET,socket.SOCK ...

  8. UDP 网络程序-发送_接收数据

    """ 创建udp连接 发送数据给 """ from socket import * # 创建udp套接字,使用SOCK_DGRAM udp ...

  9. c# 实现简单udp数据的发送和接收

    服务端代码 static void Main(string[] args) { UdpClient client = null; string receiveString = null; byte[] ...

随机推荐

  1. 博客迁移至http://www.maxzhang.com,欢迎访问!

    博客迁移至http://www.maxzhang.com,欢迎访问!

  2. linux awk 中 RS,ORS,FS,OFS 区别与联系【转】

    linux awk 中 RS,ORS,FS,OFS 区别与联系 http://blog.csdn.net/jesseen/article/details/7992929

  3. Swift—do-try-catch错误处理模式-备

    Swift 1.x的错误处理模式存在很多弊端,例如:为了在编程时候省事,给error参数传递一个nil,或者方法调用完成后不去判断error是否为nil,不进行错误处理. let contents = ...

  4. 最新Android 出现Please ensure that adb is correctly located at问题的解决方法

    最近经常遇到下面的问题 遇到问题描述: 运行android程序控制台输出: [2013-07-23 17:28:06 - ] The connection to adb is down, and a  ...

  5. [转]用Objective-C实现简单的数学字符串公式的计算

    好友第一次用写技术分享,这么多年都没见他正经的写点东西.那天突然抬头问我,Objective-C有没字符串计算的.我说,没有.后来他默默实现了,特为他转发,表示支持. ================ ...

  6. 通过button提交表单

    通过 input button 而不是input submit提交. <!DOCTYPE html> <html lang="en"> <head&g ...

  7. jQueryMobile之listview

    效果如下: data-inset="true":为圆角 data-filter="true":带着过滤输入框 <!DOCTYPE html> < ...

  8. BZOJ3300: [USACO2011 Feb]Best Parenthesis

    3300: [USACO2011 Feb]Best Parenthesis Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 89  Solved: 42 ...

  9. 小记UNIX编程库调用.

    更好的文章:http://www.cppblog.com/deane/articles/165216.html 静态库生成:(举例加法库) 1.编程源程序 add.h add.c 2.编译源程序,生成 ...

  10. JAVA面向对象总结

    面向对象概述       面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流.面向对象的概念和应用已超越程序设计和软件开发,如数据库系统.交互式界面.应用结构.应用平台.分布式系统.网络 ...