首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • winsock在xp系统和2003系统中为什么不同???
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fmaliang
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-06-14 20:11:31 楼主
    我写了个C/s模式的小程序,客户端发送到服务端的字符串5k左右,服务端在2003系统中发现要接收两次,第一次接收到2689,第二次才把字符串接收完整;但是服务端在xp系统中的话就不要接收两次,一次就能全部接收完整,这是怎么回事???
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • VirtualDesktop
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-14 20:55:481楼 得分:0
    这个不出奇的啊,和你默认设置的缓冲区大小有关的
    还有就是可能和你的网络状况有关的

    你得自己写算法分割数据
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • myjian
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

    发表于:2008-06-14 21:02:422楼 得分:0
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fmaliang
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-14 21:45:323楼 得分:0
    自己写分割数据不好办,不知道分多大好,就怕分成1k也被winsock分成两分发送,客户端的winsock自动把数据分割了,我不能在每个包之前加入分辨标志。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fmaliang
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-14 21:49:194楼 得分:0
    我的这个状况好像和默认设置的缓冲区大小无关,因为它有时候能收到完整的数据,有时候只能收到一部分,另一部分再另一个DataArrival事件中。
    可能与2003的系统有关,因为服务端在xp系统上只需要getdata一次。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fmaliang
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-14 21:56:195楼 得分:0
    在一个连接中,客户端或者服务端用两个或者两个以上senddata语句发送大于8k的数据:
    ......
    spServer(index).SendData textINI(0).Text
    spServer(index).SendData textINI(1).Text
    spServer(index).SendData textINI(2).Text
    ......
    3个textini控件中的内容都大于8K,那么winsock控件是如何处理的?会不会出错???
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • arthur24
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 17:25:016楼 得分:0
    这个不关系统的事,不管大小,会出现LZ说的情况的,所以要自己驱分出来哪些数据一是起的。
    比如:在发送数据最后加入结束的标志,接收的时候判断是否到了结尾。
    修改 删除 举报 引用 回复

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