【问题标题】:Send string to a tcp socket using GapSocket使用 GapSocket 将字符串发送到 tcp 套接字
【发布时间】:2011-10-12 23:42:16
【问题描述】:

我正在尝试使用GapSocket 建立套接字连接,并将一些数据(字符串)从 PhoneGap 发送到 tcp 套接字到端口 8888 打开的计算机。我已包含所有依赖项:

  1. 来自cocoaasyncsocket 的 asyncsocket.m 和 asyncsocket.h
  2. GapSocket 中的 GapSocketCommand.m 和 GapSocketCommand.h
  3. 包含 GapSocket.js 并引用了 www 文件夹下 index.html 中的 js 文件。

以下是我的 index.html 文件:

<!DOCTYPE html>
<html>
<head>
    <title>Socket Test</title>
    <script type="text/javascript" charset="utf-8" src="phonegap-1.1.0.js"></script>
    <script type="text/javascript">
        document.addEventListener("deviceready", function(){
            var mySocket = new GapSocket(127.0.0.1, 8888);
            mySocket.onopen = function(){ alert("Socket opened."); };
            mySocket.send("some data here");
        }, false);
     </script>
    </head>
<body>
</body>

它编译正常,不会抛出任何依赖错误,并且能够在 iOS 模拟器上运行。在我运行之前,我在 127.0.0.1(模拟器运行的机器)上打开了 8888 端口:

nc -l 127.0.0.1 8888

我可以使用telnet连接打开的端口并发送数据:

远程登录 127.0.0.1 8888

使用以下数据发送:

eddy-2:~ eddy$ telnet 127.0.0.1 8888
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
test
test

回到 iOS 模拟器,它运行但不发送任何东西,我不确定我是否正在做正确的初始化套接字的方法(我是 PhoneGap 和 Xcode 的新手)。我按照自述文件中的步骤进行操作,但没有提供太多上下文。

【问题讨论】:

    标签: ios sockets cordova


    【解决方案1】:

    您需要在 cordova.plist 插件中包含一个带有 GapSocketCommand 字符串和值的条目

    【讨论】:

      【解决方案2】:

      有两点不对:

      • 首先,您需要将 IP 地址放在引号中。
      • 其次,您需要使用运行netcat的机器的IP地址(127.0.0.1是模拟器本身的IP地址;您应该可以使用ifconfig或类似的方式找到您的IP地址)。李>

      例如,它应该如下所示:

      var mySocket = new GapSocket("192.168.0.100", 8888);
      

      另外,别忘了在PhoneGap.plist注册插件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多