Visual_Basic 板


LINE

※ 引述《vn801368 (没钱了...衰)》之铭言: : 可是TCP要一个一个建立连线 很费时 你可能被书上说的 "很费时" 吓到了, 为什麽 TCP 会很费时, 是来自於 TCP 在建立连线时的 3-way-handshake 3-way-handshake的流程是像这样子的.. A syn -> B A 想与 B连线, 送 syn 给B B syn -> A B 收到後回一个 syn 给 A A ack -> B A 收到 B的 syn後, 回 ack 给 B 简设你的 A 与 B 间的 ping 值是 200ms 整个 "建立" 连线的时间大约大约大约在 300ms 只有在这个时间点会比 UDP 多花时间. 会很费时吗? 其实也还好啦~ 像 MSN 这类连线软体根本没有这种建立连线速度的需求.. : 万一要是其中一个一直连线失败就会等很久 : 还有如果需要通知的人数很多的话 : 就会要建立很多连线 费时又麻烦 : UDP虽然比较快 可是怕会掉包没收到 UDP 也是可以自己实作 可靠性 的机制, 如果一段时间内对方没回应 "已收到", 那就要重传. TCP与UDP还有另一个差别是, TCP才有连线的观念(connection-oriented)而UDP没有(connectionless) 所以你可以从一条固定的连线知道他是哪个user, 但在 UDP, 你每一次收到一个packet, 对你而言, 对方都一个client, 为了辨别client, client还需要多传输自己的ID, server再根据ID来回应.. 使用TCP或UDP对程式端的架构设计, 也会因此有很大的差别... : 然後client端固定30秒去更新一次 : 可是这样程式负担很大 : 而且也没办法达到及时的效果.... 这就有点像 polling 与 interrupt 间的决择是一样的.. 一种就是client固定周期向server要新资料, 一种就是有新资料时, server主动传给 client.. 在像你这样子的聊天程式, 个人会建议你用後者.. 因为像 MSN 这类的聊天程式, 据wikipedia上说有 290百万人在使用.. 如果全球每 30 秒去向 server 问一次资料, 这和 DDoS 攻击有什麽不一样? 你再仔细想想, 其实这些 24 小时挂在网路上的宅宅, 可能一天只有很密集的一两个小时有真的在聊天, 其他时段都是空闲的.. 如果你检查周期太短=>server负担很重, 周期太长=>讯息太晚收到,聊天不顺畅 所以有新讯息时, 再由 server 主动传给你, 应该会是较佳的设计.. 而且你的 client 也不用另外开一个 thread 来固定时间检查+处理同步问题~ 想一想, 好像也比较好撰写? 当然在像 MSN Messenger 这类有百万user在线上的服务 会有更复杂的机制来简轻 sever的负担 .. server可以被设计成, 用来提供你某个user所在的ip 如果某个user换了ip(或上线)或下线, 则由server主动告知你, 你取得 对方的ip後, 再直接与他建立点对点的连线, 这样也是另一种可行的设计方案.. --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.74.113.211
1F:推 shipship:你猜对了...MSN应该是用你这种方式 07/23 16:01







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP