【发布时间】:2011-10-12 23:42:16
【问题描述】:
我正在尝试使用GapSocket 建立套接字连接,并将一些数据(字符串)从 PhoneGap 发送到 tcp 套接字到端口 8888 打开的计算机。我已包含所有依赖项:
- 来自cocoaasyncsocket 的 asyncsocket.m 和 asyncsocket.h
- GapSocket 中的 GapSocketCommand.m 和 GapSocketCommand.h
- 包含 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 的新手)。我按照自述文件中的步骤进行操作,但没有提供太多上下文。
【问题讨论】: