网络编程UDP Demo1

!!!这是循环打印的输入的内容,如果要循环输入的话,一定要记得切换线程来输入,要不不管用的

package 网络编程UDP;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;

public class UDPClient {
    public static void main(String[] args) {
        DatagramSocket ds = null;
        try {
            // 创建客户端的套接字对象
            ds = new DatagramSocket();
            // 定义一个发送的内容
//            字符串.getBytes()将字符串转换为字节数组
            byte[] bs = "你好".getBytes();
            // 创建要发送的目的的IP地址也可以是本机的名字也可以是192.168.1.102(本人电脑)
            InetAddress is = InetAddress.getByName("MSI");
            // 打数据包
            DatagramPacket dp = new DatagramPacket(bs, bs.length, is, 10005);
            // 发送数据
            ds.send(dp);

        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (ds != null) {
                ds.close();
            }
        }

    }
}
package 网络编程UDP;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;

public class UDPServer {
    public static void main(String[] args) {
        DatagramSocket ds = null;
        try {
            //创建UDP服务器端的对象,必须制定端口8000以前的都被占用了,建议是10000以后 的
            ds = new DatagramSocket(10005);
            //定义接收数据的字节数组
            byte[] bs = new byte[1024];
            //定义接收的数据包
            DatagramPacket dp = new DatagramPacket(bs,bs.length);
            System.out.println("服务器已经启动");
            ds.receive(dp);
            //获得发送端的IP
            InetAddress ia = dp.getAddress();
            //获取数据包中的数据
            byte[] bs1 = dp.getData();
            //获得接收数据的长度(实际接收的长度)
            int len = dp.getLength();
            //组装接收的数据
            String data = new String(bs1,0,len);
            System.out.println(ia.getHostAddress()+"接收了"+data);

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            if(ds!=null) {
                ds.close();
            }
        }

    }
}

---恢复内容结束---

原文地址:https://www.cnblogs.com/java-jiangtao-home/p/9388344.html

时间: 2024-10-15 18:46:39

网络编程UDP Demo1的相关文章

黑马程序员 网络编程 UDP与TCP

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ----------------------/* 网络编程分为两种模式:TCP和UDP 连接互联网的计算机以亿计,为了唯一的标识出每台电脑,互联网就给每台电脑分配一个 唯一独立的ip地址,通过这个ip地址就可以进行计算机之间的数据交换 我们计算机交换的数据功能我们在java中把它封住成一个叫Socket的类, 简称套接字, 端口号:计算机数据的交换一般都是电脑上的程序来维护的,而电脑上又运

网络编程UDP Demo

package 网络编程UDP; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; public class UDPClient { public static void main(String[] args) { DatagramSocket ds = null; try { // 创建客户端的

c/c++ 网络编程 UDP 发送端 bind 作用

网络编程 UDP 发送端 bind 作用 upd 发送端 调用bind函数的效果:把socket特定到一个指定的端口,如果不调用bind,内核会随机分配一个端口. upd 发送端 调用bind函数的目的:假如有2个发送端,接收端需要识别是从哪个发送端过来的,就可以分别在发送端调用bind函数,这样一来,接收端就能够知道是哪个发送端过来的数据了. 运行方法:先运行[1,先接收再发送],再运行[2,先发送再接收] 1,先接收再发送: #include <stdio.h> #include <

c/c++ 网络编程 UDP 改变网卡的硬件地址

网络编程 UDP 改变网卡的硬件地址 在程序里动态改变网卡的硬件地址 1,取得网卡的硬件地址 #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <netinet/in.h> #include <

c/c++ 网络编程 UDP 改变网关和网卡名字

网络编程 UDP 改变网关和网卡名字 在程序里动态改变网关和网卡名字 1,改变网卡名字 #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <netinet/in.h> #include <net

c/c++ 网络编程 UDP 改变IP地址

网络编程 UDP 改变IP地址 在程序里动态改变主机的IP地址 1,改变ipv4的地址 #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <netinet/in.h> #include <net

网络编程UDP/TCP协议

一.网络编程三要素 IP:网络中设备的标识,不易记忆,可用主机名 端口号:用于标识进程的逻辑地址,不同进程的标识 传输协议:通讯的规则常见协议:TCP,UDP UDP 把数据打成一个数据包 , 不需要建立连接 数据包的大小有限制不能超过64k 因为无连接,所以属于不可靠协议(可能丢失数据) 因为无连接 ,所以效率高 TCP 需要建立连接,形成连接通道 数据可以使用连接通道直接进行传输,无大小限制 因为有链接,所以属于可靠协议 因为有链接,所以效率低 二.IP以及端口号 1.InetAddress

java 网络编程 UDP TCP

网络编程 网络编程主要用于解决计算机与计算机(手机.平板..)之间的数据传输问题. 网络编程: 不需要基于html页面就可以达到数据之间的传输. 比如: feiQ , QQ , 微信....网页编程: 就是要基于html页面的基础上进行数据的交互的. 比如: 珍爱网. oa(办公自动化). 高考的报告系统... 计算机网络: 分布在不同地域 的计算机通过外部设备链接起来达到了消息互通.资源共享的效果就称作为一个计算机网络.网络通讯的三要素:    1. IP    2. 端口号.    3. 协

JAVA网络编程UDP案例

Java网络编程.UDP案例 发送端 import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; public class SendUDP { public static vo