Java中开发一个基于Socket的TCP通信的短信接口一般要多久呢? 对于一个完全没接触过socket和多线程的新手,开发一个http接口要多久呢?首先利用socket和服务端通信,然后再对发送的报文做处理,最后做一个http接口让别人使用,整个功能实现下来要多久呢?报文是自定义格式的! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有现成的soap技术,为啥非要用socket实现呢?是要学习用的么 现成的soap技术是指什么呢?可以给说下吗? 因为我在客户端和服务端通信要用到socket呀!他给的只有IP和端口 首先, 第一步和第二布网上都有现成的例子, 可以直接拿过来, 稍作修改。 http接口的协议应该是要跟对方的商议之后而定的, 根据他们的需求, 定义个接口便可。 整个流程下来不难 看你需求大小,如果是简单的少量链接,网上百度下简单的socket例子,复制下就行,新手的话,最多5天也完了。如果是大量链接并发管理的话,建议先去搜下MINA框架的相关支持,掌握下基本例子的编写,熟悉过程大约需要一周,剩下实际开发就很快了,接口都是现成的,只写逻辑就行。 在网上找几个Socket的小例子,练练手也好。SOAP是一种协议,嗯,可以先不管。 首先, 第一步和第二布网上都有现成的例子, 可以直接拿过来, 稍作修改。 http接口的协议应该是要跟对方的商议之后而定的, 根据他们的需求, 定义个接口便可。 整个流程下来不难帮忙看下我上面的那个问题可以吗? 首先回答楼主关于协议处理的问题:按我的理解,客户端与服务器之间的通讯协议应该是双方约定的私有通讯协议(即数据排列格式由双方约定),设计者在制定协议格式时,必须考虑协议的唯一标识性,即每条通讯报文都具有唯一的特征属性(比如报文编号)。楼主如果作为客户端向服务器发送请求,只要在发送之前,将报文内容存到内存中即可,当收到服务器的反馈报文时,根据报文编号找到对应的请求报文(反馈报文与请求报文编号一致,或有其他关联规则)。另外,这个问题和多线程没有关系,就算开再多的线程,也是使用同一条TCP链路进行通讯,每条线程读取到的内容是随机的,所以靠多线去进行报文对应,没有意义。然后就是关于程序通讯机制的问题了:本例中双方通讯是使用的TCP方式,也就是全双工长连接的方式。理论上,任何使用TCP方式通讯的链路,都需要使用心跳机制来确定对方的在线情况,因为TCP是保持连接的,而实际运行时此前建立的连接可能被中断,从而导致后续的发送请求失败。正常的TCP链路close,程序是可以监测到的(关闭时,系统会自动发送一条链路断开的报文),但是异常断开的话,程序是监测不到的(如直接拔掉网线、交换机故障等),对方会仍然认为链路可用,所以需要使用心跳机制,定时发送报文,证明双方状态正常。所以楼主需要使用异步的方式来管理通讯。MINA提供了现成的框架,对用户而言,网络通讯变成了触发式,不再需要用户显式的死循环轮询读socket了,当指定链路收到数据报文的时候,会自动调用指定的接口函数,楼主只要在那里写下相关逻辑即可。 Java servlet 显示多张图片的问题 Tomcat7怎么弄version 1的Cookie? ajax传对象值 关于动态代理模式的疑问 怎样学习Flex+ssh框架 我运行断点调试时想追踪一下源码,,谁可以把调试时导入源码的具体步骤描述一下,谢谢! 关于Java的问题 jb2005 利用ProcedureDataSet组件调用oracle9i的过程搞不定?? SpringMVC URLReWrite 重写地址 Linux环境下,连oracle数据库偶尔报连接超时 svn中struts配置文件不能更新是咋回事 求高手帮助! 帮我讲解这段生成缩略图的代码
首先, 第一步和第二布网上都有现成的例子, 可以直接拿过来, 稍作修改。 http接口的协议应该是要跟对方的商议之后而定的, 根据他们的需求, 定义个接口便可。 整个流程下来不难
如果是大量链接并发管理的话,建议先去搜下MINA框架的相关支持,掌握下基本例子的编写,熟悉过程大约需要一周,剩下实际开发就很快了,接口都是现成的,只写逻辑就行。
首先, 第一步和第二布网上都有现成的例子, 可以直接拿过来, 稍作修改。 http接口的协议应该是要跟对方的商议之后而定的, 根据他们的需求, 定义个接口便可。 整个流程下来不难
帮忙看下我上面的那个问题可以吗?
按我的理解,客户端与服务器之间的通讯协议应该是双方约定的私有通讯协议(即数据排列格式由双方约定),设计者在制定协议格式时,必须考虑协议的唯一标识性,即每条通讯报文都具有唯一的特征属性(比如报文编号)。楼主如果作为客户端向服务器发送请求,只要在发送之前,将报文内容存到内存中即可,当收到服务器的反馈报文时,根据报文编号找到对应的请求报文(反馈报文与请求报文编号一致,或有其他关联规则)。
另外,这个问题和多线程没有关系,就算开再多的线程,也是使用同一条TCP链路进行通讯,每条线程读取到的内容是随机的,所以靠多线去进行报文对应,没有意义。然后就是关于程序通讯机制的问题了:
本例中双方通讯是使用的TCP方式,也就是全双工长连接的方式。理论上,任何使用TCP方式通讯的链路,都需要使用心跳机制来确定对方的在线情况,因为TCP是保持连接的,而实际运行时此前建立的连接可能被中断,从而导致后续的发送请求失败。正常的TCP链路close,程序是可以监测到的(关闭时,系统会自动发送一条链路断开的报文),但是异常断开的话,程序是监测不到的(如直接拔掉网线、交换机故障等),对方会仍然认为链路可用,所以需要使用心跳机制,定时发送报文,证明双方状态正常。
所以楼主需要使用异步的方式来管理通讯。
MINA提供了现成的框架,对用户而言,网络通讯变成了触发式,不再需要用户显式的死循环轮询读socket了,当指定链路收到数据报文的时候,会自动调用指定的接口函数,楼主只要在那里写下相关逻辑即可。