我正在尝试使用GapSocket建立套接字连接,并将一些数据(字符串)发送到从PhoneGap到打开端口8888的计算机的tcp套接字。我已经包含了所有依赖项:
以下是我的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连接开放端口并发送数据:
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的新手)。我按照自述文件的步骤操作,但它没有提供太多的上下文。
答案 0 :(得分:3)
你需要在cordova.plist插件中包含一个带有GapSocketCommand字符串和值的条目
答案 1 :(得分:1)
有两件事是错的:
ifconfig
或类似物品找到您的IP地址)。 例如,它看起来应该是这样的:
var mySocket = new GapSocket("192.168.0.100", 8888);
另外,不要忘记在PhoneGap.plist
注册插件。