zoukankan      html  css  js  c++  java
  • Java与flash的TCP通讯(XMLSocket类) [转]


    flash代码:
    var mySocket:XMLSocket = new XMLSocket();
    //本地地址,端口5000
    mySocket.connect("localhost", 5000);
    //事件
    mySocket.onConnect = function(myStatus)
    {
    if (myStatus)
    {
      trace("连接成功!");
      //发送信息
      mySocket.send("soda" + "\n");
      trace("发送成功!");
    }
    else
    {
      trace("连接失败!");
    }
    };
    //接受信息事件
    mySocket.onData = function (msg:String)
    {
       trace("接受到的内容:" + msg);
    }
    --------------------------------------------------
    java代码:
    import java.net.*;
    import java.io.*;


    public class Server 
    {
    public static void main(String[] args) throws Exception
    {
      //建立服务器(TCP)
      ServerSocket ss = new ServerSocket(5000);
      System.out.println("等待连接.......");
      Socket sk = ss.accept();
      System.out.println("连接成功......");
      //建立字符流
      BufferedReader br = new BufferedReader(new InputStreamReader(sk.getInputStream()));
      System.out.println("获取BufferedReader......");
      System.out.println("获取里面的内容......");
      //等待接受信息
      String name = br.readLine();

      //发送信息
      PrintWriter os = new PrintWriter(sk.getOutputStream());
      os.println("soda,soda" + "\0");
      os.flush();
      os.close();
      System.out.println("内容:" + name);
    }
    }
    -----------------------------------------------------------
    值得注意的是mySocket.send("soda" + "\n");这句话
    如果后面没有加"\n",java服务器是不能马上接受信息的。
    因为br.readLine()是接受一行的,如果没有"\n"的话,
    它找不到换行符号,就会在那里一直监听等待,不会响应
    (汗~~~我自己就是在这里被卡了很久)
  • 相关阅读:
    ffmpeg rtmp推流 视频转码
    java日志发展史 log4j slf4j log4j2 jul jcl 日志和各种桥接包的关系
    nginx stream 流转发,可以转发rtmp、mysql访问流,转发rtmp、jdbc请求
    java web http 转https 通过nginx代理访问
    linux 服务器磁盘挂载
    novnc 通过websockify代理 配置多点访问
    linux 文件服务 minio 安装部署配置
    AOP实现原理,手写aop
    java 泛型
    JAVA反射getGenericSuperclass()用法
  • 原文地址:https://www.cnblogs.com/skyblue/p/1642950.html
Copyright © 2011-2022 走看看