游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3738|回复: 2

udp需不需要完成端口?

[复制链接]

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-12-4 01:08:00 | 显示全部楼层 |阅读模式
最近苦攻网络通讯底层,好久没上来透气了,索性上来发两个问题

问题一:
我看了一下udp服务器只有一个i/o处理所有客户端的信息收发(这样也高效,真难以置信)
那么把udp放到完成端口是否失去了意义?

问题二:
另外游戏服务器里面UDP和我写好的TCP/IOCP怎么整合?
封装两套完全不相干的发送和接收底层吗?

或者仅仅只是在接收和发送队列上进行整合?

问题三:
一个老问题,游戏中,什么样的数据用tcp,什么用udp,尺度如何把握?
(别说可靠不可靠什么的,这个等于没说,希望能更具体点,比如登录,交易,人物动作,地图数据,等等。。。)

希望老友指点一二
[em24]

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
 楼主| 发表于 2007-12-4 13:56:00 | 显示全部楼层

Re:udp需不需要完成端口?

自己顶一个~

2

主题

79

帖子

85

积分

注册会员

Rank: 2

积分
85
QQ
发表于 2007-12-4 14:20:00 | 显示全部楼层

Re: udp需不需要完成端口?


    苦攻底层......网络....然后你提这几个问题....??

    问题一:
我看了一下udp服务器只有一个i/o处理所有客户端的信息收发(这样也高效,真难以置信)
那么把udp放到完成端口是否失去了意义?

问题二:
另外游戏服务器里面UDP和我写好的TCP/IOCP怎么整合?
封装两套完全不相干的发送和接收底层吗?

    完成端口是一个协作层,是用户程序和操作系统之间的交互机制一种了,其实它还可以用在好多其它应用方面的,好象文件处理这些。

    服务器的UDP用完成端口是否失去意义?刚好相反,服务器环境UDP用完成端口是最好的了,一个I/O处理(SOCKET)处理所有客户端的信息收发,相同的数据量下对操作系统的占用是最少的。

    UDP和TCP/IOCP怎么整合?封装得好情况下,IOCP应该跟用什么网络协议无关。

问题三:
   游戏中,TCP和UDP尺度如何把握?TCP用在确保不能掉失的数据条件,UDP可以用在掉了几个数包都无大碍的时候。如果你写的通信机制下UDP有检证并重发机制,其实两者一样,如果你什么保证都没有,登录,交易,地图数据用TCP,人物动作用UDP(但前提条件是你的动作逻辑会有自动修复功能)。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-17 19:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表