我要实现的是,就像是ajax那样的交互,不同的是后台是通过socket在处理,比如在页面点击了一个按钮后,就跟后台建立了tcp连接,然后在页面可能会点击按钮,也或者是选择一个复选框等,这些操作都会通过socket发送数据到后台去处理,然后服务器端处理完把结果返回回来。 后台的socket server端是用c语言写的,前台的话,js等应该是做不到的,所以我就打算用php了。 php里有创建socket的函数,socket_write是用来发送数据的,但是php是一行行执行的,所以要发送数据到服务器端的话,就要全部一行行的写到php语句里,比如先发送a,再发送b,再发送c,就要事先写在代码里去,但是我什么时候发送什么数据到服务器端是不可预计的,没办法直接写到php代码里去,要看用户点了那个按钮,做了什么交互来决定。
我想问下我这种要求要怎么实现?
我自己还有个想法,就是建立了连接以后,如果用户点击了按钮要发送数据到服务器端,就用ajax,但是ajax请求的那个php页面里没有socket这个资源了,也没用用,socket也不能注册成session,没办法传递过去。所以还是没有办法实现。 不知道我有没有说清楚。。先谢谢大家了~
我想问下我这种要求要怎么实现?
我自己还有个想法,就是建立了连接以后,如果用户点击了按钮要发送数据到服务器端,就用ajax,但是ajax请求的那个php页面里没有socket这个资源了,也没用用,socket也不能注册成session,没办法传递过去。所以还是没有办法实现。 不知道我有没有说清楚。。先谢谢大家了~
2、若用php和javascript判断用户选择根据选择提交数据。
3、用form也可实现交互功能,将客户端信息发服务器端。
开两个临时文本文件,一个存发送命令,一个存接收信息,文件名与每次socket连接的ip+端口相呼应。
假设你的页面有 "连接","命令1","命令2" 3个按钮,点击连接,ajax发送请求到php请求socket的页面,从c socket server那边返回一个ip+端口的串给php端,php利用这个串建立以上描述的两个文件,并存入session,然后while(true){不停的从相应的发送命令文本文件读取最新的命令},而页面的命令1,命令2按钮则是请求到另一个php文件,写入命令到发送命令的文本文件,可能需要sleep下,再从接收信息文件读取返回信息。
flash应该能够胜任。
想想其它办法吧,如上面说的flash