java-Java Socket 读取TCP服务端数据包不完整

问题描述

Java Socket 读取TCP服务端数据包不完整

Java Socket 读取TCP服务端数据包不完整:除了利用数据包大小循环读取输入流的得到完整的数据外,还有其他什么方法?

数据包在网络传输的过程中,数据传递到客户端基本处于“无序”态。除了开辟一块内存按数据包的顺序存放外,还有其他更好的方案么?

解决方案

TCP 因为是长连接的,肯定是有序的。数据接收不完整,这种现象在通讯中很常见的,是必须代码处理。

解决方案二:

TCP是有序的吧?UDP才是无序的。

解决方案三:

Tcp是连续,并有吃重传机制。

解决方案四:

提问人的基础知识不扎实啊。

TCP是长连接,数据长度无限。
UDP是短连接,长度有限。

有序性:
TCP按发送的次序接受数据,在这个意思上是有序的。
UDP不按发送数据的次序接受数据,在这个意义上是无须的。

时间: 2024-12-03 01:16:06

java-Java Socket 读取TCP服务端数据包不完整的相关文章

java实现socket客户端连接服务端_java

本例只做简单功能演示,代码并不严谨,只是说明客户端如何实现连接服务端简单代码. 代码在集成Eclipse工具下测试编译运行环境如下图所示: 客户端echoClient.java代码: package com.zhengzz.echo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java

java 开发Webservice客户端获取服务端数据存入本地数据库

问题描述 之前没有接触过webService现在需要写个webService的客户端去获取服务端的数据,然后再存入到本机的数据库中,不知道该如何实现这个是开发的报表功能,现在报表的数据是本机自己建的表,但实际的数据要从别的几个系统中取出,再存入本机的数据库,所以想请问下实现过程是什么,谢谢 解决方案 解决方案二:可以用cxf或者axis2生成客户端.然后客户端里再实现数据的插入操作解决方案三:找个axis根据wsdl直接生成客户端,生成的客户端里面会带有接口的本地存根,这时就相当于调用本地的接口

Java实现Socket的TCP传输实例

  本文实例讲述了Java实现Socket的TCP传输.分享给大家供大家参考.具体分析如下: 客户端发数据到服务端 * Tcp传输,客户端建立的过程. * 1,创建tcp客户端socket服务.使用的是Socket对象. * 建议该对象一创建就明确目的地.要连接的主机. * 2,如果连接建立成功,说明数据传输通道已建立. * 该通道就是socket流 ,是底层建立好的. 既然是流,说明这里既有输入,又有输出. * 想要输入或者输出流对象,可以找Socket来获取. * 可以通过getOutput

Java实现Socket的TCP传输实例_java

本文实例讲述了Java实现Socket的TCP传输.分享给大家供大家参考.具体分析如下: 客户端发数据到服务端 * Tcp传输,客户端建立的过程. * 1,创建tcp客户端socket服务.使用的是Socket对象. * 建议该对象一创建就明确目的地.要连接的主机. * 2,如果连接建立成功,说明数据传输通道已建立. * 该通道就是socket流 ,是底层建立好的. 既然是流,说明这里既有输入,又有输出. * 想要输入或者输出流对象,可以找Socket来获取. * 可以通过getOutputSt

java使用Socket类接收和发送数据_java

网络应用分为客户端和服务端两部分,而Socket类是负责处理客户端通信的Java类.通过这个类可以连接到指定IP或域名的服务器上,并且可以和服务器互相发送和接受数据.在本文及后面的数篇文章中将详细讨论Socket类的使用,内容包括Socket类基础.各式各样的连接方式.get和set方法.连接过程中的超时以及关闭网络连接等. 在本文中,我们将讨论使用Socket类的基本步骤和方法.一般网络客户端程序在连接服务程序时要进行以下三步操作. 连接服务器 发送和接收数据 关闭网络连接 一.连接服务器 在

求教,要用java写个app的服务端,请问需要使用哪些技术或组件?

问题描述 求教,要用java写个app的服务端,请问需要使用哪些技术或组件? 好像需要用到xmpp,数据传递打算使用json,然后框架准备使用springmvc+mybties,但是我不清楚该怎么实现接收app传过来的数据,还有就是怎么将数据传递给app. 好像说进行接口交互,但是这个大概是怎么实现或运行的,有没有大神介绍下,有例子链接更好哈! 解决方案 这个我来告诉你,因为我现在就在用JAVA做手机APP的服务器. 首先你不要被什么框架啊这些给迷惑了,如果你连原理都不知道就去弄这些框架,会把你

聊天室-关于java的聊天程序,分服务端和客户端,请java大神帮我调试一下,我检查没编写错误

问题描述 关于java的聊天程序,分服务端和客户端,请java大神帮我调试一下,我检查没编写错误 //服务端 package chatApp; import java.net.*; import java.io.*; import java.util.*; public class chatserverthree implements Runnable { public static final int PORT=1234; protected ServerSocket listen; stat

java实现微信支付(服务端)_java

废话不多说,直接看代码. RequestHandler requestHandler = new RequestHandler(super.getRequest(),super.getResponse()); //获取token //两小时内有效,两小时后重新获取 Token = requestHandler.GetToken(); //更新token 到应用中 requestHandler.getTokenReal(); System.out.println("微信支付获取token=====

java中建立客户端和服务端的思想步骤是如何确立..请大神解答下..

问题描述 java中建立客户端和服务端的思想步骤是如何确立..请大神解答下.. 解决方案 解决方案二: 解决方案三:首先,你得有客户端和服务器端相关的配置信息,我不知道你现在的交互是数据库还是什么??