我们这里有个程序,后台是java 写的,前台是vb写的,它们通过socket通讯。前台发送请求数据包给后台,后台处理完毕后,把结果数据包返回前台,在后台日志中记录已经给前台发送。但前台没有反应。然后前台以同样方式进行其他业务处理,工作正常。工作完成后,原先没有接受到的数据包又被接受到,并在前台进行了处理,检查日志,后台并没有从新发送。请教为何会出现这种情况?前台每发送一次请求数据包都要把socket关掉,重新连接。后台以字节方式发送,前台以字符串方式接受。前台是windows9X,后台是windows2000.
你在后台发送信息后,再延迟一下,再关闭,应该可以
不知道是不是这个问题。
jave的socket采用的协议不是标准的tcp或者udp而是一种自己内部的协议(这样实现是为了跨平台,因为unix和linix没有socket)他是模仿tcp和udp因此出现了这种情况java会关闭vb或者是vb的socket