zoukankan      html  css  js  c++  java
  • as3 udp

       周一上班的第一天,老大说要我熟悉一下网络协议和硬件交互(以前常用Socket所以我认为是要从UDP和串口开始着手),好吧,你是老大你说的算,然后我就开始学习UDP。

      先贴接收的代码:

    public class Main extends MovieClip {
            private var txt:TextField=new TextField();
            private var datagramSocket:DatagramSocket=new DatagramSocket();
            public function Main() {
                // constructor code
                
                addChild(txt);
                txt.text="aaaaaaaa";
                bindFunc();
            }
            private function bindFunc():void{
                if(datagramSocket.bound){
                    datagramSocket.close();
                    datagramSocket=new DatagramSocket();
                }
                datagramSocket.bind(8080,"192.168.1.130");
                datagramSocket.addEventListener(DatagramSocketDataEvent.DATA,onDataEvent);
                datagramSocket.receive();
            }
            private function onDataEvent(e:DatagramSocketDataEvent):void{
                trace("ip"+e.srcAddress);
                trace("port"+e.srcPort);
                //var str=e.data.readUTFBytes(e.data.bytesAvailable);
                var str=e.data.readUTFBytes(e.data.bytesAvailable);
                trace(e.data.readUTFBytes(e.data.bytesAvailable));
                //trace(e.data.readUTFBytes(e.data.objectEncoding));
                trace("msg"+str);
                txt.text=str;
            }
            
        }

    然后贴发送的代码:

    public class Main extends MovieClip {
            
            private var udpSocket:DatagramSocket=new DatagramSocket();
            private var bytes:ByteArray=new ByteArray();
            private var txt:TextField=new TextField();
            public function Main() {
                // constructor code
                //bytes.writeUTFBytes("1234");
                //bytes.writeUTF("hello");
                bytes.writeUTFBytes("hello");
                udpSocket.send(bytes,0,0,"192.168.1.130",8080);
                bytes.clear();
                stage.addEventListener(MouseEvent.CLICK,onC);
                addChild(txt);
                txt.type=TextFieldType.INPUT;
                txt.border=true;
            }
            private function onC(e:MouseEvent):void{
                //bytes.writeUTF(txt.text);
                bytes.writeUTFBytes(txt.text);
                udpSocket.send(bytes,0,0,"192.168.1.130",7777);
                bytes.clear();
            }
        }

      其实后来我琢磨了一下,UDP应该是接收的时候要绑定自己的IP和端口,发送的时候要写对方的IP和端口。

  • 相关阅读:
    POJ 2159 Ancient Cipher 难度:0
    POJ 3299 Humidex 难度:0
    POJ 1503 Integer Inquiry 大数 难度:0
    POJ 2262 Goldbach's Conjecture 数学常识 难度:0
    POJ 1083 Moving Tables 思路 难度:0
    PAT 甲级 1126 Eulerian Path
    Java 大数运算
    PAT 甲级 1010 Radix
    PAT 甲级 1137 Final Grading
    PAT 甲级 1064 Complete Binary Search Tree
  • 原文地址:https://www.cnblogs.com/lingLuoChengMi/p/7731523.html
Copyright © 2011-2022 走看看