精华内容
参与话题
问答
  • nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名 tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”用于设置超时间隔。 ping ip(或域名) 向对方主机发送默认...
  • 同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-mail账号,查询mail 服务器的会话…… 还包括消息客户端程序,通过连接创建会话。创建发送者和映射消息。发送消息,同时对文本...
  • 一般情况下,反馈的消息发送到的是手机发送端口,所以这时候发送端口和接收端口是同一个端口。在我的第一篇文章中(http://blog.csdn.net/u012833261/article/details/78982538),使用的就是DatagramSocket,这在...

    有时候Android手机发送UDP消息,需要知道有没有发送成功,这就要监听反馈回来的消息。一般情况下,反馈的消息发送到的是手机发送端口,所以这时候发送端口和接收端口是同一个端口。在我的第一篇文章中(http://blog.csdn.net/u012833261/article/details/78982538),使用的就是DatagramSocket,这在启动监听线程时占用发送端口,造成无法同时接收和发送。这就很难办了,虽然也有其他的解决办法,但是有一种很简单的方法。在我的第一篇中,把DatagramSocket都替换掉。UDP数据传输使用java NIO中的DatagramChannel。定义两个变量


        private DatagramChannel channel;
        
        /**
         * ByteBuffer,存放发送和接收的数据
         */
        private ByteBuffer buf = ByteBuffer.allocate(60);

    当然调用之前首先要初始化:

       public 初始化函数(){

            try {
                channel = DatagramChannel.open();
                channel.socket().bind(new InetSocketAddress(23564));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    发送数据:
    public void send(String message){

    try {  
                         
                byte[] configInfo = message.getBytes();
               
                buf.clear();
                buf.put(configInfo);
                buf.flip();
                channel.send(buf, new InetSocketAddress(SERVER_IP, SERVER_PORT));


            } catch (Exception e) {  
                e.printStackTrace();  
            }  
    }

    接收数据:
    public void StartListen()  {
    keepRunning = getKeepRunning();    
            while (keepRunning) {              
                try {  
                   buf.clear();
                    channel.receive(buf);
                    
                    //获取ByteBuffer的有效内容
                    buf.flip();
                    byte[] bytes = new byte[buf.limit()];
                    buf.get(bytes);
                    
                    msg = new Message();
                    bundle = new Bundle();
                    
                    //把数据放到buddle中
                    configMessage = new String(bytes);
     
                    bundle.putString("receive", configMessage);
                    //把buddle传递到message
                    msg.setData(bundle);
                    handler.sendMessage(msg);
                   
                    
                } catch (Exception e) {  
                    continue;  
                }  
            } 
    }
    //利用Handler将接收的数据实时打印出来
    Handler myHandler = new Handler(){
    @Override
    public void handleMessage(Message msg)
    {
    super.handleMessage(msg);
    Bundle bundle=new Bundle();
    //从传过来的message数据中取出传过来的绑定数据的bundle对象
    bundle = msg.getData();
    receive = bundle.getString("receive");
    setMessage(receive);
    }
    };

    这样使用Channel就可以使用同一个端口进行收发UDP数据。
    展开全文
  • (1)前提:必须要保证他们在同一个局域网中,要在一个网段才行  NetAssist.ext软件是用来协助我们完成网络请求:  网络设置:填写的是自己电脑上的IP地址。  目标主机和目标端口:填写的是你要给谁发送的那个...

    一、初识Udp网络发送数据

    (1)前提:必须要保证他们在同一个局域网中,要在一个网段才行

            NetAssist.ext软件是用来协助我们完成网络请求:

            网络设置:填写的是自己电脑上的IP地址。

            目标主机和目标端口:填写的是你要给谁发送的那个人的ip地址和端口号。

            发送的内容:在那个大白框中进行填写。

        1、网络调试助手修改成虚拟机的网段

        2、虚拟机改成桥接模式就和windows网段一样了

        3、互相ping通

    (2)在Linux给网络调试助手发消息:

        1、先保证两个在同一网段,互相ping通,并且网络调试助手软件连接上,对应的ip地址网段一致

        2、用vi命令进入文件写程序,python3加上b转化字节,python2不用加b

        3、再在Linux上运行文件

         

         

    (3)用程序实现给飞秋(软件)发送数据消息(用的sendto)

      1、Linux上写程序,注意格式

      2、格式:

      

     上面的1表示版本号,后面的1238605487是发送的一个随机的时间,愿意写什么就写什么,飞秋不会检测的,

     user是发送者的名字,后面就是发送者机器的名字,再后面的那个32非常的重要,有的时候是显示上线,

     有的时候是收到消息,那这个32就是收到消息(必须写)。

     再后面是发送的内容

     3、后面以元组的形式,写对方的ip地址,和软件的端口号

    4、运行文件即可(如果报网络问题,改成桥接模式试试)

    二、绑定端口和中文编码解码问题

    (1)通过网络调试助手给Linux发信息,Linux接收信息

      1、一般情况下发送方是不绑定端口号的,而接收方需要绑定端口号,否则发送方不知道怎么发啊,给谁发啊。

          套接字是可以收可以发的,这个过程是可以同时运行的。

      2、代码如下,接收方绑定端口号(接收数据是元组形式)

       

      循环接收信息:

       

    3、网络调试助手发送信息,在同一网段,网络调试助手,填写目标主机的ip和端口号

    (2)中文编码问题

    1、在这里用encode(utf-8)不管用

         这个软件默认使用的是gb2312或是gbk的编码方式(都是简体中文),可改程序

         encode(gb2312/gbk)

    2、decode是解码。encode是编码。发送需要编码,接收需要解码

          发送数据编码:(虚拟机给网络调试助手发,给其他软件发,加上格式)下图:

       

        接收需要解码:(网络调试助手给虚拟机发消息)下图:

       

     

       

     

     

    展开全文
  • 在win7系统,使用raw socket分别编写发送接收udp的程序。一开始可以成功,后来莫名其妙就接收不到。...据测试应该是发送端问题,可是之前成功过,同一份代码却无端失败。所以猜测会不会是系统或其他的问题。
  • 使用多线程实现多发送发送数据到同一个接收者 代码: 发送端:可以在多台电脑上启动发送端,同时向接收发送数据 注意:匹配地址和端口号 package com.qf.demo; import java.io.IOException; import ...

    要求:

    使用多线程实现多发送方发送数据到同一个接收者
    

    代码:

    发送端:可以在多台电脑上启动发送端,同时向接收端发送数据

    注意:匹配地址和端口号
    
    package com.qf.demo;
    
    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 SendTest {
        public static void main(String[] args) {
            System.out.println("发送端已启动!");
    
            DatagramSocket socket=null;
    
            try {
                //1.创建socket对象
                socket=new DatagramSocket();
                //2.要发送的内容,可以用Scanner在后台输入
                String string="最近很烦,有时间陪我聊天吗?";
                DatagramPacket packet=new DatagramPacket(string.getBytes(), string.getBytes().length, InetAddress.getLocalHost(), 6677);
                //3.发送数据
                socket.send(packet);
            } catch (SocketException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (UnknownHostException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                if(socket!=null){
                    socket.close();
                }
            }
        }
    }
    

    接收端:

    package com.qf.demo;
    
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.SocketException;
    
    public class ReceiveTest {
    
        public static void main(String[] args) {
            // 1 socket
    
            try {
                DatagramSocket socket = new DatagramSocket(6677);
                while(true){
                    byte[] bs = new byte[1024];
                    DatagramPacket p = new DatagramPacket(bs, bs.length);
                    socket.receive(p);// 阻塞程序程序执行
                    MyThread thread = new MyThread(p);
                    thread.start();
                }
            } catch (SocketException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    }
    
    class MyThread extends Thread{
        DatagramPacket p = null;
        public MyThread(DatagramPacket p ) {
            this.p = p;
        }
        @Override
        public void run() {
    
            // 将接收到的数据进行 打印输出
            System.out.println("接收到的--发送端--数据:"+new String(p.getData(),0,p.getLength()));
        }
    }
    
    

    运行结果:

    接收端:
    这里写图片描述

    转载于:https://www.cnblogs.com/TCB-Java/p/6809613.html

    展开全文
  • C类网络:在同一个局域网中,最多只能连254台设备。(2的8次方,去掉0和255) (前提条件必须是在同一个网段中) B类网络:在同一个局域网中,最多只能连2的16次方,去掉0和255后的结果 A类网络,网段号的数量为2...

    **

    1,IP地址

    **
    在这里插入图片描述
    C类网络:在同一个局域网中,最多只能连254台设备。(2的8次方,去掉0和255)
    (前提条件必须是在同一个网段中)

    B类网络:在同一个局域网中,最多只能连2的16次方,去掉0和255后的结果

    A类网络,网段号的数量为2的7次方

    可查询本机电脑的IP地址路径为 cmd---->ipconfig
    在这里插入图片描述
    可通过上面的地址测试本机网络是否畅通。路径为 cmd---->ping 127.0.0.1

    **

    2,子网掩码

    **
    子网掩码:区分网络号和主机号,脱离IP地址没有任何意义
    子网掩码:同样由四个字节bite组成

    C类网络
    子网掩码:左边前三个字节代表网络号,全部是1组成,2的8次方,计算是从0开始的所以得到的值是255
    子网掩码:右边最后一个字节代表主机号,全部是0组成,得到的值仍然为0
    所以C类网络的子网掩码为:255.255.255.0

    B类网络的子网掩码为:255.255.0.0

    A类网络的子网掩码为:255.0.0.0

    **

    3,端口号

    **
    知名端口:3306 默认代表mysql数据库
    知名端口:80 http协议
    知名端口:443 百度
    知名端口的意思是:端口号已经被占用,用固定的用途
    知名端口的区间是0–1023 端口号已经被有名的程序占用
    一台计算上能允许有65535个应用

    动态端口:1024-65535

    在这里插入图片描述

    **

    4,网络基础—协议

    **
    在这里插入图片描述
    协议标准是分为了7层
    在实际的应用中分为了4层

    **

    5,socket编程

    **
    socket:通过网络完成进程间通信的方式

    Socket是应用层与传输层之间的桥梁

    Socket本质是编程接口(API):Socket是对TCP/IP协议的封装 在这里插入图片描述
    套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认

    socket编程翻译为中文即为:套接字编程

    在这里插入图片描述
    UDP----User Data Protocol用户数据报协议 快,不稳定,会被黑客攻击。只负责发送,不负责对方能不能接收到

    TCP----Transmission Control Protocol 传输控制协议,安全慢,稳定,不容易被攻击。先建立连接,再数据发送

    **

    6,socket udp编程 发送信息

    **

    需求:socket udp编程 发送信息给网络调试助手

    哎呀呀,我插入的图片好好看呐

    
    # 目的:使用socket编程,通过网络实现进程间的通信
    # 消息的发送方 消息的接收方
    from socket import *
    
    # udp编程 创建udp Socket对象
    udpSocket = socket(AF_INET, SOCK_DGRAM)
    
    # 使用socket对象发送信息 信息的格式是字节,而不是字符串  发送给网络调试助手进程
    # udpSocket.sendto("hello python", ("192.168.2.119", 8989))  # 此行代码错误
    
    # 方法1
    udpSocket.sendto("hello python", (b"192.168.2.119", 8989))  # 要发送的内容,对方的IP以及端口号
    
    # 方法2
    udpSocket.sendto("hello python", ("192.168.2.119".encode(), 8989))
    
    # encode(指定编码字符集类型)方法的主要作用是解决中文乱码的问题(编码) 网络调式助手的编码格式是gbk或者gb2312
    udpSocket.sendto("你好呀,死鬼".encode("gbk"), ("192.168.2.119".encode(), 8989))
    udpSocket.sendto("你好呀,死鬼".encode("gb2312"), ("192.168.2.119".encode(), 8989))
    
    # 用完socket后 对象关闭
    udpSocket.close()
    

    以上优化后的代码如下:

    from socket import *
    
    udpSocket = socket(AF_INET, SOCK_DGRAM)
    addr = ("192.168.42.56", 8989)
    message = input("输入要发送的内容:")
    udpSocket.sendto(message.encode("gb2312"), addr)
    
    udpSocket.close()
    

    需求:socket udp编程 发送信息给 飞秋进程
    飞秋的端口号查找 设置—》网络设置—》可看到自定义端口号

    from socket import *
    udpSocket = socket(AF_INET, SOCK_DGRAM)
    
    udpSocket.sendto("你好呀,帅哥".encode("gb2312"), ("192.168.2.119", 2425))
    # 飞秋有自己独有的应用层协议,所以上面的代码发送失败
    
    udpSocket.close()
    

    在这里插入图片描述
    以上修改后的代码为:

    from socket import *
    
    udpSocket = socket(AF_INET, SOCK_DGRAM)
    
    udpSocket.sendto("1:123456:皮皮:调皮的皮皮:32:皮皮你又闹人啦?".encode("gb2312"), ("192.168.42.56", 2425))
    
    udpSocket.close()
    

    **

    7,socket udp编程 接收信息

    **
    1,udp编程 消息的接收方
    2,服务器端 只做消息的接收方
    3,客户端/服务器端 工作模式:客户端会经常向服务器端发送信息

    # 网络调试助手充当信息的发送方
    
    from socket import *
    
    udpSocket = socket(AF_INET, SOCK_DGRAM)
    
    # 给socket对象绑定一个ip地址和端口号
    udpSocket.bind(("", 9999))  # 什么都不写,默认代表绑定的是本机的地址
    
    # 接收信息 1024代表能接收1024个字节的信息
    message = udpSocket.recvfrom(1024)
    
    # 查看接收到的信息的格式:返回的是一个元组,(消息内容, (发送方的IP, 发送方的端口号))
    # print(message)
    # 利用decode(指定编码字符集类型)方法来进行解码
    print(message[0].decode("gbk"))
    
    # 关闭socket对象
    udpSocket.close()
    

    **

    8,socket udp编程 发送和接收 消息

    **

    # 网络调试助手充当信息的发送方
    
    from socket import *
    
    udpSocket = socket(AF_INET, SOCK_DGRAM)
    udpSocket.bind(("", 9999))
    
    # 发送信息
    addr = ("192.168.42.52", 8989)
    udpSocket.sendto(b"hi", addr)
    
    # 接收消息
    message = udpSocket.recvfrom(2048)
    print(message[0].decode("gbk"))
          
    udpSocket.close()
    

    9,udp编程案例:echo服务–聊天室功能实现

    echo客户端 :发送什么,就得到什么
    from socket import *
    
    s = socket(AF_INET, SOCK_DGRAM)
    
    # 发送消息
    message = input("请输入发送内容:")
    addr = ("192.168.42.56", 8990)  # 此为服务器端的端口号
    # 发送方和接收方都是用python代码写的,所以编码字符集是一样的。
    # 不指定编码字符集,默认为utf-8
    s.sendto(message.encode(), addr)
    
    # 接收消息
    receive_message = s.recvfrom(2048)
    print(receive_message[0].decode())
    
    # 关闭socket对象
    s.close()
    
    echo服务器端:得到什么,就返回什么
    from socket import *
    s = socket(AF_INET, SOCK_DGRAM)
    
    # 空的什么都不写,默认绑定本机ip地址即和上面的ip一样 端口号也需和上面的保持一致
    s.bind(("", 8990))
    
    # 接收消息
    receive_message = s.recvfrom(2048)
    print(receive_message[0].decode())
    
    # 返回消息
    s.sendto(receive_message[0], receive_message[1])
    
    s.close()
    

    注:echo服务器端可改进为聊天室功能,把接收消息和发送消息放到死循环中,只要接收消息,就返回消息

    from socket import *
    s = socket(AF_INET, SOCK_DGRAM)
    
    # 空的什么都不写,默认绑定本机ip地址即和上面的ip一样 端口号也需和上面的保持一致
    s.bind(("", 8990))
    
    while True:
        receive_message = s.recvfrom(2048)
        print(receive_message[0].decode())
    
        # 返回消息
        s.sendto(receive_message[0], receive_message[1])
    
    s.close()
    

    改进2:聊天室 实现灵活对话
    客户端改进代码如下:

    from socket import *
    
    s = socket(AF_INET, SOCK_DGRAM)
    
    while True:
        # 发送消息
        message = input("请输入发送内容:")
        addr = ("192.168.42.56", 8990)  # 此为服务器端的端口号
        # 发送方和接收方都是用python代码写的,所以编码字符集是一样的。
        # 不指定编码字符集,默认为utf-8
        s.sendto(message.encode(), addr)
    
        # 接收消息
        receive_message = s.recvfrom(2048)
        print(receive_message[0].decode())
    
    # 关闭socket对象
    s.close()
    

    服务器端的改进代码如下:

    from socket import *
    s = socket(AF_INET, SOCK_DGRAM)
    
    # 空的什么都不写,默认绑定本机ip地址即和上面的ip一样 端口号也需和上面的保持一致
    s.bind(("", 8990))
    
    while True:
        receive_message = s.recvfrom(2048)
        print(receive_message[0].decode())
    
        # 返回消息
        # 将返回的固定消息,变成手动输入
        data = input("请输入回复内容:")
        s.sendto(data.encode(), receive_message[1])
    
    s.close()
    

    **

    10,udp编程-发送广播数据

    **

    from socket import *
    
    s = socket(AF_INET, SOCK_DGRAM)
    
    # 默认情况下udpSocket对象是不让发送广播的
    # 修改udpSocket对象的设置,使其具有发送广播的功能
    # 固定写法
    s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)trivial
    
    # 发送广播数据 发送给局域网中的所有的飞秋程序
    dest = ("<broadcast>", 2425)
    s.sendto("1:122:美美:皮皮:32:你好我好大家好".encode("gbk"),dest)
    
    s.close()
    
    展开全文
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-mail账号,查询mail 服务器的会话……  还包括消息客户端程序,通过连接创建会话。创建发送者和映射消息。发送消息,同时对...
  • 最近在写一个组播通信的功能,结果发现接受同一台电脑上只能运行一个接收端,如果运行两个时,第二个运行的程序不能收到数据。查找原因是因为没有设置端口数据复用的功能(setsockpot),setsockpot的调用见代码。 ...
  • //允许向任意远程主机终节点发送数据,发送接收使用同一个端口 udpReceive = new UdpClient(recEP); udpSend = new UdpClient(); udpReceiveState = new UdpState(); udpReceiveState.udpClient = udpReceive...
  • TCP/UDP 端口及部分端口的作用

    万次阅读 2010-10-16 11:08:00
    由于同一台机器上可能会运行多网络应用程序,所以计算机需要确保目标计算机上接收源主机数据包的软件应用程序的正确性,以及响应能够被发送到源主 机的正确应用程序上。该过程正是通过使用TCP 或 UDP 端口号来...
  • udp/tcp端口大全

    2012-05-01 01:05:33
    由于同一台机器上可能会运行多网络应用程序,所以计算机需要确保目标计算机上接收源主机数据包的软件应用程序的正确性,以及响应能够被发送到源主机的正确应用程序上。该过程正是通过使用TCP 或 UDP 端口号来实现...
  • TCP和UDP端口

    千次阅读 2010-09-04 10:06:00
    一直没弄清TCP和UDP端口是否可以一样的问题,今天看了下资料,然后自己写了个代码试了一下,确定TCP和UDP是可以工作在一个端口上的。 TCP 和 UDP 都是 IP 层的传输协议,是 IP 与上层之间的处理接口。TCP 和 ...
  • IDEA中实现UDP无连接通信时,自己做练习时,由于接收端和发送端在同一台电脑上,所以当接收端程序和发送端程序其中一个先运行时,就会占用指定端口,而后面运行的一端的端口号则变成随机(或默认)。 即使用多线程...
  • 最近在做的一个项目使用的是UDP传输,中间出现的...这种情况我发现是我的发送数据的端口号和接收数据的端口号是同一个端口号的问题,所以在设置端口号时尽量不要设置同一个端口号。 2.端口号被占用的时候,我尝试添加
  • java范例开发大全

    2013-03-08 20:06:54
    实例1 开发第一个Java程序 7 第2章 Java基础类型与运算符(教学视频:39分钟) 9 2.1 基础类型 9 实例2 自动提升 9 实例3 自动转换 10 实例4 常用基础类型之强制转换 11 2.2 运算符 12 实例5 算术运算符 12 实例6 ...
  • 计算机网络复习题

    2014-12-29 19:01:35
    (2)在面向连接的TCP协议中,TCP包中有一个Window size 字段,接收方可以通过该字段告诉发送方,自己还有多少个接收缓冲区,极端情况下,当接收方不能再接收数据时,把该字段设置为0,从而发送方可以根据该字段的值...
  • /* * 建立UDP接收端的思路: * * 1. 建立udp socket服务,因为是要接收数据,所以必须明确一个... * (如果发送端和接收端都是任意端口,那么发送端和接收端基本不会是同一个端口,从而造成丢包,数据发出去,那边
  • 即在不同的计算机上编写一些实现了网络连接的程序,这些程序可以实现位于同一个网络中的计算机之间的数据的交换。二、网络通信协议:同一个网络中的计算机进行连接和通信时的规则;目前应用最广泛的是TCP/IP协议...
  • UDP协议使用无连接的套接字,因此不需要再网络设备之间发送连接信息,但是必须用Bind方法绑定到一个本地地址/端口上。 ①建立套接字 ②绑定IP地址和端口作为服务器端 ③直接使用SendTo/ReceiveFrom来执行操作 ...
  • socket编程(1)简单的TCP/UDP编程

    千次阅读 2011-02-19 20:20:00
    socket编程是一种与底层网络协议无关的编程方式,socket意味一种插口,即一个地址配上一个端口就构成了一端插口,既然他与底层协议无关,所以我们在使用socket 编程的时候,就可以任意选用哪种网络协议,如最流行的...
  • 头痛,一个网络通信问题——两个程序在同一个局域网内,它们通过共同的公网ip相互通信的问题。 这是一个udp通信的问题,打个比方: 程序1运行在内网ip为:10.0.0.11上,接收端口为8003; 程序2运行在内网ip为:...
  • 2、复用:发送方不同的应用进程都可以使用同一个传输层协议传输数据 3、俩种协议:TCP、UDP 4、进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动,进程是正在运行的程序的实例 TCP、UD...
  • 而且广播貌似用UDP协议,看网上的解释,好像这种协议不能保证数据的先后,但我需要客户端就像心电图一样,显示一个连续的波形。第二种做法的话,需要客户端不停的发送请求,当客户端请求的频率和数据采集的频率不...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
    同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-mail账号,查询mail 服务器的会话……  还包括消息客户端程序,通过连接创建会话。创建发送者和映射消息。发送消息,同时对...
  • 首先从原理上解释一下采用Socket 接口的网络通讯,这里以最常用的 C/S 模式作为范例,首先,服务端有... 下面看一个完整的例子,client 向server 发送一段测试字符串,server 接收并显示出来,给予client 成功响应。
  • udp多路复用

    千次阅读 2019-05-15 17:41:38
    一个 UDP 多路复用,被用来处理共享同一个 UDP 端口的多个并发的 UDT 连接。 UDP 多路复用,根据包头的目标 Socket ID, 将接收到的不同的 UDT 包分发给相应 的 UDT Socket。换言之,多个 UDT Socket 绑定到不同的...
  • 基于UDP编程

    千次阅读 2020-09-25 23:59:12
    1 UDP是数据报协议,无连接的,不可靠,追求传输效率的种通信协议数据的发送接收是同步的.在进行通信之前,不需要建立连接.其传输效率比TCP高.对其服务器而言,并没有三次握手的过程.因此和TCP相比,少了被动监听...
  • qt实现udp通讯,不仅可以发送接收文字,还能收发图片,代码简单易懂适合新手。本例子中收发软件都是同一个,用时记得改下代码里的ip和端口
  • TCP和UDP协议

    2018-07-15 20:50:33
    应用程序通过编程调用 TCP 并使用 TCP 服务,提供需要准备发送的数据,用来区分接收数据应用的目的地址和端口号。通常应用程序通过打开一个socket来使用 TCP 服务,TCP 管理到其他 socket 的数据传递。可以说,通过 ...

空空如也

1 2 3 4 5 6
收藏数 110
精华内容 44
热门标签
关键字:

udp发送接收同一个端口