首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • JAVA socket 中的read方法
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-14 13:32:24 楼主
    我最近写一个JAVA通信程序,为什么我才服务器端发送一次的消息,到客户端 会分多次把这个消息读出来? 请大家给我讲讲read()方法的机制,它一次读多少数据是什么决定的? 急,谢谢了。
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-15 08:08:591楼 得分:0
    数据包并不保证他们会自动全部到达,因为一个包的大小是有限制的。你可以看看tcp/ip的知识。

    当只有部分数据到达时,你如果read,则只能读到已经到达的部分。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-15 08:21:042楼 得分:0
    他一次读多少数据,取决于现在多少数据可以读,只要没有读到尾部的时候就阻塞等待
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-15 08:59:193楼 得分:0
    看样子,是得看一下tcp/ip的知识了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-15 11:12:504楼 得分:0
    用的是字节流,它里面有个方法可以返回刻度数据的字节长度
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-15 16:51:135楼 得分:0
    我传输的数据并不大,比如说我在服务器端用write方法写“WWWWWWWWWWWWWWW” 这么个字符串,客户端的read方法可能会分3次或4次读这个字符串。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-19 10:48:236楼 得分:0
    你发生了数据,对方知道你发送的数据有多少个字节吗?
    读取方 如何判断读取的内容已经读完了呢?

    最好你自己定义一个通讯的协议(数据格式),如: nbbbbbb , n 表示发送的数据的字节数,bb.....为具体的信息内容!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-23 23:51:477楼 得分:0
    该回复于2008-05-24 05:41:46被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-24 12:18:018楼 得分:0
    引用 6 楼 qfjiang 的回复:
    你发生了数据,对方知道你发送的数据有多少个字节吗?
    读取方 如何判断读取的内容已经读完了呢?

    最好你自己定义一个通讯的协议(数据格式),如: nbbbbbb , n 表示发送的数据的字节数,bb.....为具体的信息内容!


    JAVA里不是由一个机制可以判断出读到了包的结尾吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-28 16:45:339楼 得分:0
    楼主能不能发下你的代码过来,参考下.........
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved