精华内容
下载资源
问答
  • 超简单的UDP服务端与客户端通信实例(附赠得到本地IP地址的工程代码)注:记得把客户端代码中的IP地址换成自己机子服务端的IP地址哦
  • 废话不多直接上android发送代码: String message = “这是一个中文测试”; // 这里是重点,要将字符串进行Base64加密 message = Base64.encodeToString(message.getBytes(), Base64.DEFAULT); int server_port ...

    废话不多直接上android发送代码:

            String message = “这是一个中文测试”;
    <span style="white-space:pre">	</span>// 这里是重点,要将字符串进行Base64加密
            message = Base64.encodeToString(message.getBytes(), Base64.DEFAULT);
            int server_port = 12345;
            DatagramSocket s = null;
            try {
                s = new DatagramSocket();
            } catch (SocketException e) {
                e.printStackTrace();
            }
            InetAddress local = null;
            try {
                local = InetAddress.getByName(edt_ip.getText().toString());
            } catch (UnknownHostException e) {
                e.printStackTrace();
                Toast.makeText(this, "无法连接服务器!", Toast.LENGTH_SHORT).show();
            }
            int msg_length = message.length();
            byte[] messageByte = message.getBytes();
            DatagramPacket p = new DatagramPacket(messageByte, msg_length, local,
                    server_port);
            try {
                s.send(p);
            } catch (Exception e) {
                Log.e("UDPTEST", e.toString());
                Toast.makeText(this, "发送失败!", Toast.LENGTH_SHORT).show();
            }
    然后看delphi端接收处理:

    uses EncdDecd
    
    
    function IdBytesToAnsiString(ParamBytes: TIdBytes): AnsiString;
    var
      i: Integer;
      S: AnsiString;
    begin
      S := '';
      for i := 0 to Length(ParamBytes) - 1 do
      begin
        S := S + AnsiChar(ParamBytes[i]);
      end;
      Result := S;
    end;
    
    procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; const AData: TIdBytes; ABinding: TIdSocketHandle);
    var
      sTmp : string;
    begin
      // 将接收的<span style="font-family: Arial, Helvetica, sans-serif;">TIdBytes 转换成字符串</span>
      sTmp:= IdBytesToAnsiString(AData);
      // 将字符串进行Base64解码
      Memo1.Lines.Add(DecodeString(sTmp));
    end;



    展开全文
  • 【实例简介】超简单的UDP服务端与客户端通信实例(附赠得到本地IP地址的工程代码)注:记得把客户端代码中的IP地址换成自己机子服务端的IP地址哦【实例截图】【核心代码】android_UDP的简单通信(附赠得到本地IP的代码)...

    【实例简介】

    超简单的UDP服务端与客户端通信实例(附赠得到本地IP地址的工程代码)注:记得把客户端代码中的IP地址换成自己机子服务端的IP地址哦

    【实例截图】

    【核心代码】

    android_UDP的简单通信(附赠得到本地IP的代码)

    └── android_UDP的简单通信(附赠得到本地IP的代码)

    ├── test_udp_client

    │   ├── AndroidManifest.xml

    │   ├── bin

    │   │   ├── AndroidManifest.xml

    │   │   ├── classes

    │   │   │   └── com

    │   │   │   └── example

    │   │   │   └── test_udp_client

    │   │   │   ├── BuildConfig.class

    │   │   │   ├── MainActivity$1.class

    │   │   │   ├── MainActivity.class

    │   │   │   ├── R$attr.class

    │   │   │   ├── R$dimen.class

    │   │   │   ├── R$drawable.class

    │   │   │   ├── R$id.class

    │   │   │   ├── R$layout.class

    │   │   │   ├── R$menu.class

    │   │   │   ├── R$string.class

    │   │   │   ├── R$style.class

    │   │   │   ├── R.class

    │   │   │   ├── UDPEchoClientTimeout$1.class

    │   │   │   ├── UDPEchoClientTimeout$myRunnable.class

    │   │   │   └── UDPEchoClientTimeout.class

    │   │   ├── classes.dex

    │   │   ├── dexedLibs

    │   │   │   └── android-support-v4-58f66eb5e86bf92a1541389cd5537ac8.jar

    │   │   ├── res

    │   │   │   ├── drawable-hdpi

    │   │   │   │   └── ic_launcher.png

    │   │   │   ├── drawable-mdpi

    │   │   │   │   └── ic_launcher.png

    │   │   │   ├── drawable-xhdpi

    │   │   │   │   └── ic_launcher.png

    │   │   │   └── drawable-xxhdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── resources.ap_

    │   │   └── test_udp_client.apk

    │   ├── gen

    │   │   └── com

    │   │   └── example

    │   │   └── test_udp_client

    │   │   ├── BuildConfig.java

    │   │   └── R.java

    │   ├── ic_launcher-web.png

    │   ├── libs

    │   │   └── android-support-v4.jar

    │   ├── proguard-project.txt

    │   ├── project.properties

    │   ├── res

    │   │   ├── drawable-hdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── drawable-mdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── drawable-xhdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── drawable-xxhdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── layout

    │   │   │   └── activity_main.xml

    │   │   ├── menu

    │   │   │   └── main.xml

    │   │   ├── values

    │   │   │   ├── dimens.xml

    │   │   │   ├── strings.xml

    │   │   │   └── styles.xml

    │   │   ├── values-sw600dp

    │   │   │   └── dimens.xml

    │   │   ├── values-sw720dp-land

    │   │   │   └── dimens.xml

    │   │   ├── values-v11

    │   │   │   └── styles.xml

    │   │   └── values-v14

    │   │   └── styles.xml

    │   └── src

    │   └── com

    │   └── example

    │   └── test_udp_client

    │   ├── MainActivity.java

    │   └── UDPEchoClientTimeout.java

    ├── test_udp_service

    │   ├── AndroidManifest.xml

    │   ├── bin

    │   │   ├── AndroidManifest.xml

    │   │   ├── classes

    │   │   │   └── com

    │   │   │   └── example

    │   │   │   └── test_udp_service

    │   │   │   ├── BuildConfig.class

    │   │   │   ├── MainActivity$1.class

    │   │   │   ├── MainActivity.class

    │   │   │   ├── R$attr.class

    │   │   │   ├── R$dimen.class

    │   │   │   ├── R$drawable.class

    │   │   │   ├── R$id.class

    │   │   │   ├── R$layout.class

    │   │   │   ├── R$menu.class

    │   │   │   ├── R$string.class

    │   │   │   ├── R$style.class

    │   │   │   └── R.class

    │   │   ├── classes.dex

    │   │   ├── dexedLibs

    │   │   │   └── android-support-v4-d2293871c743d4a463d8f0905226b67c.jar

    │   │   ├── res

    │   │   │   ├── drawable-hdpi

    │   │   │   │   └── ic_launcher.png

    │   │   │   ├── drawable-mdpi

    │   │   │   │   └── ic_launcher.png

    │   │   │   ├── drawable-xhdpi

    │   │   │   │   └── ic_launcher.png

    │   │   │   └── drawable-xxhdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── resources.ap_

    │   │   └── test_udp_service.apk

    │   ├── gen

    │   │   └── com

    │   │   └── example

    │   │   └── test_udp_service

    │   │   ├── BuildConfig.java

    │   │   └── R.java

    │   ├── ic_launcher-web.png

    │   ├── libs

    │   │   └── android-support-v4.jar

    │   ├── proguard-project.txt

    │   ├── project.properties

    │   ├── res

    │   │   ├── drawable-hdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── drawable-mdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── drawable-xhdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── drawable-xxhdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── layout

    │   │   │   └── activity_main.xml

    │   │   ├── menu

    │   │   │   └── main.xml

    │   │   ├── values

    │   │   │   ├── dimens.xml

    │   │   │   ├── strings.xml

    │   │   │   └── styles.xml

    │   │   ├── values-sw600dp

    │   │   │   └── dimens.xml

    │   │   ├── values-sw720dp-land

    │   │   │   └── dimens.xml

    │   │   ├── values-v11

    │   │   │   └── styles.xml

    │   │   └── values-v14

    │   │   └── styles.xml

    │   └── src

    │   └── com

    │   └── example

    │   └── test_udp_service

    │   └── MainActivity.java

    └── test_wifi_ip

    ├── AndroidManifest.xml

    ├── bin

    │   ├── AndroidManifest.xml

    │   ├── classes

    │   │   └── com

    │   │   └── example

    │   │   └── test_wifi_ip

    │   │   ├── BuildConfig.class

    │   │   ├── MainActivity.class

    │   │   ├── R$attr.class

    │   │   ├── R$dimen.class

    │   │   ├── R$drawable.class

    │   │   ├── R$id.class

    │   │   ├── R$layout.class

    │   │   ├── R$menu.class

    │   │   ├── R$string.class

    │   │   ├── R$style.class

    │   │   └── R.class

    │   ├── classes.dex

    │   ├── dexedLibs

    │   │   └── android-support-v4-638f4e269046a58f42662696c2d94781.jar

    │   ├── jarlist.cache

    │   ├── res

    │   │   ├── drawable-hdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── drawable-mdpi

    │   │   │   └── ic_launcher.png

    │   │   ├── drawable-xhdpi

    │   │   │   └── ic_launcher.png

    │   │   └── drawable-xxhdpi

    │   │   └── ic_launcher.png

    │   ├── resources.ap_

    │   └── test_wifi_ip.apk

    ├── gen

    │   └── com

    │   └── example

    │   └── test_wifi_ip

    │   ├── BuildConfig.java

    │   └── R.java

    ├── ic_launcher-web.png

    ├── libs

    │   └── android-support-v4.jar

    ├── proguard-project.txt

    ├── project.properties

    ├── res

    │   ├── drawable-hdpi

    │   │   └── ic_launcher.png

    │   ├── drawable-mdpi

    │   │   └── ic_launcher.png

    │   ├── drawable-xhdpi

    │   │   └── ic_launcher.png

    │   ├── drawable-xxhdpi

    │   │   └── ic_launcher.png

    │   ├── layout

    │   │   └── activity_main.xml

    │   ├── menu

    │   │   └── main.xml

    │   ├── values

    │   │   ├── dimens.xml

    │   │   ├── strings.xml

    │   │   └── styles.xml

    │   ├── values-sw600dp

    │   │   └── dimens.xml

    │   ├── values-sw720dp-land

    │   │   └── dimens.xml

    │   ├── values-v11

    │   │   └── styles.xml

    │   └── values-v14

    │   └── styles.xml

    └── src

    └── com

    └── example

    └── test_wifi_ip

    └── MainActivity.java

    100 directories, 130 files

    展开全文
  • PZHelp_UDPServer public class PZHelp_UDPServer extends Thread { private static final String TAG = "PZHelp_UDPServer"; private DatagramSocket socket; private DatagramPacket packet; pri...

    PZHelp_UDPServer

    public class PZHelp_UDPServer extends Thread {
        private static final String TAG = "PZHelp_UDPServer";
    
        private DatagramSocket socket;
        private DatagramPacket packet;
        private int            port;
    
        private boolean isUDPServerRunning;
    
        private ByteReceiveListener   byteListener = null;
        private StringReceiveListener strListener  = null;
    
        private int receiveType;
    
        public PZHelp_UDPServer(int port, ByteReceiveListener listener) {
            this.port = port;
            this.byteListener = listener;
            receiveType = 1;
            byte[] data = new byte[2048];
            packet = new DatagramPacket(data, data.length);
        }
    
        public PZHelp_UDPServer(int port, StringReceiveListener listener) {
            this.port = port;
            this.strListener = listener;
            receiveType = 2;
            byte[] data = new byte[2048];
            packet = new DatagramPacket(data, data.length);
        }
    
        @Override
        public synchronized void start() {
            super.start();
            isUDPServerRunning = true;
        }
    
        @Override
        public void run() {
            try {
                socket = new DatagramSocket(port);
                while (isUDPServerRunning && !socket.isClosed()) {
                    socket.receive(packet);//阻塞状态
                    if (receiveType == 1){
                        byteListener.Receive(packet.getAddress().toString(), getByteArr(packet.getData(), packet.getOffset(), packet.getLength()));
                    }else {
                        //接收字符串
                        strListener.Receive(packet.getAddress().toString(),new String(packet.getData(), 0, packet.getLength(),"GBK"));
                    }
                }
                socket.close();
            } catch (Exception e) {
                if (receiveType == 1){
                    byteListener.onFail(e.getMessage());
                }else {
                    //接收字符串
                    strListener.onFail(e.getMessage());
                }
            }
        }
    
        /**
         * 发送数据
         *
         * @param message 数据
         */
        public void send(String message) {
            try {
                if (isUDPServerRunning && !socket.isClosed()) {
                    socket.send(new DatagramPacket(message.getBytes(), message.length(), packet.getAddress(), packet.getPort()));
                }
            } catch (IOException e) {
                byteListener.onFail(e.getMessage());
                e.printStackTrace();
            }
        }
    
        /**
         * 发送数据
         *
         * @param message 数据
         */
        public void send(byte[] message) {
            try {
                if (isUDPServerRunning && !socket.isClosed()) {
                    socket.send(new DatagramPacket(message, message.length, packet.getAddress(), packet.getPort()));
                }
            } catch (IOException e) {
                byteListener.onFail(e.getMessage());
                e.printStackTrace();
            }
        }
    
        private byte[] getByteArr(byte[] data, int start, int length) {
            byte[] ret = new byte[length];
            System.arraycopy(data, start, ret, 0, length);
            return ret;
        }
    
        void close() {
            isUDPServerRunning = false;
        }
    
        /**
         * 回调
         */
        public interface ByteReceiveListener {
            void onFail(String err);
    
            void Receive(String address, byte[] response);
        }
    
        /**
         * 回调
         */
        public interface StringReceiveListener {
            void onFail(String err);
    
            void Receive(String address, String response);
        }
    }
    

    主函数使用

    mUDPServer = new PZHelp_UDPServer(3232, new PZHelp_UDPServer.StringReceiveListener() {
         @Override
         public void onFail(String err) {
             Log.d(TAG, "onFail: " + err);
         }
    
         @Override
         public void Receive(String address, String response) {
         	//处理数据
         }
     });
     mUDPServer.start();
    
    展开全文
  • c++ UDP服务端&客户端demo

    千次阅读 多人点赞 2020-12-14 09:46:30
    UDP客户端demo 如下: #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <netdb.h> //客户端源码 #include <sys/types.h> #include...

     UDP客户端demo 如下:

    #include <stdio.h>
    #include <stdlib.h>
    #include <errno.h>
    #include <string.h>
    #include <netdb.h>
    //客户端源码
    #include <sys/types.h>
    #include <netinet/in.h>
    #include <sys/un.h>
    #include <sys/socket.h>
    #include <sys/unistd.h>
    #include <arpa/inet.h>
    #define PORT        8999
    #define DESIP  "192.168.23.109"
    #define MAXSIZE     4096
    int main(int argc, char *argv[])
    {
    	int sockfd, addr_len;
    	struct sockaddr_in des_addr;
    	char sendmsg[MAXSIZE], recvmsg[MAXSIZE]; 
    
    	sockfd = socket(AF_INET, SOCK_DGRAM, 0);
    	if (sockfd < 0) {
    		perror("socket error");
    		return -1;
    	}
    	des_addr.sin_family = AF_INET;
    	des_addr.sin_port = htons(PORT);
    	des_addr.sin_addr.s_addr = inet_addr(DESIP);
    	bzero(&(des_addr.sin_zero), 8);
    	while (1) {
    		memset(recvmsg, 0, MAXSIZE);
    		memset(sendmsg, 0, MAXSIZE);
    		printf("input:\n");
    		gets(sendmsg);
    		if (strcmp(sendmsg, "
    展开全文
  • 一.android添加权限 <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission and...
  • netty号称java高性能网络库,为人帮忙中,研究了下,写了一个demo。反复调试,发现在本地windows上测试没有问题,但发到linux上却出现接收不到数据的问题!...另外,在linux下还需要调整(端口配置成udp协议的,doc
  • 服务端: from socket import * from time import ctime HOST = '' PORT = 21568 BUFSIZ = 1024 ADDR = (HOST, PORT) udpSerSock = socket(AF_INET , SOCK_DGRAM) udpSerSock.bind(ADDR) while True: print('w...
  • Android:public class BroadCastUdp extends Thread{ public static final int DEFAULT_PORT = 43708; private static final int MAX_DATA_PACKET_LENGTH = 40; private byte[] buffer = new byte[MAX_DATA_PACKET...
  • TCP编程和UDP编程,套路不一样, UDP是无连接协议,不用关心,发数据的对端是否存在,数据发出去即可,编程模型比较简单,作为服务器端一般是要固定在一个端口上,,这样别人才能连接到,UDP和TCP的服务都需要一个...
  • 实例展示,android客户端与Tomcat服务端通信
  • Android Udp通讯源码

    2021-05-12 18:16:12
    Android开发的Udp实时消费机服务端源码,展示了Android环境下Udp通讯编程,包括Sock的端口监听、数据包发送、Android UI布局等。详细介绍:https://blog.csdn.net/zhangjin7422/article/details/116708207
  • UDP服务器建立与TCP相类似,具体比较如下: 补充下,第四步:不必使用listen还有accept函数。 具体代码如下:(设置socket选项省略) import socket from time import ctime HOST='' PORT=21004 ...
  • android UDP通信

    2017-08-10 16:12:51
    android UDP通信很简单的,调用下面这个方法就可以实现客户端和服务端UDP通信, 只需要把要发给服务器的数据转成一个byte数组格式传进去就行了。 /**客户端向服务器端发送UDP数据*/ public static void ...
  • android UDP

    千次阅读 2012-04-19 18:08:02
    1.对于UDP服务端,首先启动侦听服务,然后得到数据包进行处理,组后根据获得数据包进行反馈。 2.UDP socket没有连接的概念,因此构造完成的DatagramSocket不会发出向对端的网络连接请求,在每一个发送的UDP数据包中...
  • ## 客户端与服务端基于UDP的通信工具 ## 转眼从学习安卓开发到工作已经一年的多了,以前都是遇到问题就在网上各种搜索代码结局额问题,可以说是踩过了很多巨人的肩膀了,从中也学习到了很多。 最近由于项目需要用...
  • 什么是Android UDPUDP是User Datagram Protocol的简称,中文名是用户数据包协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它是IETF RFC 768是UDP的正式规范。在网络中它与...
  • 一个AndroidUDP网络传输聊天程序,服务端为java编写,用于PC;客户端为Android编写,用于Phone。
  • Android服务端通过Socket收发文字图片的实现

    千次阅读 热门讨论 2018-04-17 20:50:44
    今天总结一下Android客户端和服务端通过Socket收发文字和图片的实现方式:关于网络通信的基础知识这边就不赘述了,网上多的是,今天主要写一下实现的部分:简单的描述Sokcket的通信主要有一下几步:1、服务端实例化...
  • Android UDP简单实现

    2016-01-03 15:53:40
    说明测试程序分为两个部分:Android客户端、Java服务端Android客户端:向局域网UDP广播字符串“Hello, World!”,端口号是11000。然后打印所有收到的UDP广播。 Java服务端:监听11000的UDP广播,收到UDP广播后,...
  • android UDP/TCP混用

    2015-05-05 17:45:10
    udp 客户端 服务端通讯,中间嵌套 tcp 的通讯
  • if (socketUDP == null) { socketUDP = new DatagramSocket(null); socketUDP.setReuseAddress(true); socketUDP.bind(new InetSocketAddress(30000)); } //3.从此套接字发送数据报包。 socketUDP.send(packet); /*...
  • android UDP实例

    2017-05-09 15:56:12
    这是我在网上查资料再根据自己情况修改过的代码,主要内容是UDP客户端发送和接收数据,点一下按键就发送数据,然后马上接收数据,设置阻塞时间为3秒。等待3秒后没有接收到服务端数据就自动再次发送数据,循环5次,5...
  • 最简单的Android Studio UDP测试demo,导入工程后修改端口号和IP地址即可测试UDP服务端发送接收。
  • Android UDP

    2018-04-09 17:43:13
    1、UDP是一个无连接协议,传输数据之前源端和终端不建立连接;2、不维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息;3、UDP信息包的标题很短,8个字节,对于TCP的20个字节...
  • Android上实现TCP&UDP的客户端和服务端

    千次阅读 2016-03-23 14:30:41
    activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation=
  • 要使用UDP发送数据首先要跑个服务端用于接收数据 这里使用idea直接运行即可 import java.io.IOException; import java.net.*; import java.util.concurrent.ExecutorService; import java.util.concurrent....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,733
精华内容 3,493
热门标签
关键字:

androidudp服务端