服务端使用的是C语言做的,与客户端连通后服务端一直主动推送数据给客户端,客户端使用Java技术实现一直接收数据,该怎么去做?
java 可以用apache mina实现Socket客户端。C语言的Socket server网上应该也有很多源码。
看你的描述,应该类似保持长连接推送计算。
简单描述是:
a 客户端请求服务器端,请求订阅某个推送主题,
b 服务器端给此连接编号,并将该连接保持(使用定期发送心跳报文的方式),将编号与连接保存在内存中。
c 当服务器需要推送消息给客户端时,轮询保持的连接列表,逐一发送消息给客户端。
以下是相关介绍链接:
http://blog.csdn.net/ouyhong123/article/details/39395651一般做推送服务,对服务器的内存要求比较高,现在流行使用Erlang或Go语言写服务器端。
本回答被网友采纳是采用定时去读取信息吗?不发送请求给服务端 服务端会主动把数据推送过来吗?
追答当然也算是定时读取的一种特殊形式,但是并不需要你自己去实现。他会监听指定的通信端口,当服务器端有数据发送过来是,就能触发相应的事件,自己就可以获取到信息。
本回答被提问者采纳