Aug 14

网游加速器 不指定

felix021 @ 2011-8-14 19:34 [IT » 网络] 评论(1) , 引用(0) , 阅读(5893) | Via 本站原创
世界上最遥远的距离不是生与死,而是电信和网通之间的距离。

最近晚上都会玩会儿游戏,但是家里是网通的宽带,延迟很大,有时甚至直接提示无法连接服务器,略囧。

为了能够比较顺畅地玩游戏,以前曾经用过“迅雷网游加速器”和“99sushe网游加速器”这两个软件。

以前两款都是收费的,但是都有免费的3~7天试用期。用上以后,可以明显感觉到延迟变小,游戏可玩性增强,只是免费试用期比较短,用了几天以后必须换个账号才行,很麻烦。

不过最近迅雷网游加速器居然永久免费了,毕竟是马上要上市的公司,财大气粗。。

有网游需求的各位同学,推荐试试: http://jsq.xunlei.com

-----

p.s. 写本文的主要目的是参加“写博客,免费得加速器VIP”活动,最多可以送一年,有兴趣的同学也别错过机会……

鉴于本博客是技术博客,简单扯两句。。网游加速器的原理和主要模型其实很简单。

以开头那句话为例,游戏客户端A@网通,网游服务器B@电信,可知A-B之间的延迟通常大得离谱。

于是,搞一台有双网卡的机器X,分别接入电信和网通的线路(这样可以使得 A-X 和 X-B 之间的延迟都很小),并且用iptables之类的东西,配置来自不同网卡的数据包的走向,这样就可以搭好两个网络之间的一座桥。在客户端A,可以使用hook技术拦截游戏发出的数据包,将其处理以后发给这台X,由X将数据包发给游戏服务器B(本来是A->B, 现在变成A->X->B),然后B返回的数据包由X转给A(B->X->A),这样就能够使得A-B之间的通信延迟大幅降低。

但是在具体实施上还会遇到很多问题,比如

1. 一台服务器显然不够全国这么多玩家使用,于是需要设置多台服务器。

2. 并不是所有A和X之间的延迟都一样,应该使用ping(icmp)来选择延迟最小的。但是要同时考虑到负载均衡的问题,一台服务器不能连入太多客户端。

3. 从效益上考虑,一台服务器应该尽可能多地承载客户端,这时需要改进技术,比如使用epoll/kqueue来替换传统的select/poll。并且,有些游戏对延迟要求高,有些要求低,可以在一定程度上优化服务器的处理方式。

4. 在用户的机器上,需要对不同的网游客户端进行优化,有些客户端可能会防外挂(这里可能涉及到运营的策略)。还要考虑防火墙的穿透问题。

5. 全国有各种大大小小的运营商,电信网通教育网移动这些是大的,各个地方还会有很多小的运营商,需要增加各种服务器。

6. 。。。。

好了,字数很够了,就废话这么多吧。
Feb 22
zz from http://hxyl.net/2011/02/22/ping-bi-gg/

感谢火星网友猪炎平的分享
亲自测试了下确实可以完全屏蔽广告!所以发出来大家分享下。
原理是改hosts的!
第一步:找到C:\WINDOWS\system32\drivers\etc里面的hosts文件,双击打开,选用记事本打开。
复制以下内容到hosts内,保存

#优酷
127.0.0.1 atm.youku.com
127.0.0.1 Fvid.atm.youku.com
127.0.0.1 html.atm.youku.com
127.0.0.1 valb.atm.youku.com
127.0.0.1 valf.atm.youku.com
127.0.0.1 valo.atm.youku.com
127.0.0.1 valp.atm.youku.com
127.0.0.1 lstat.youku.com
127.0.0.1 speed.lstat.youku.com
127.0.0.1 urchin.lstat.youku.com
127.0.0.1 stat.youku.com
127.0.0.1 static.lstat.youku.com
127.0.0.1 valc.atm.youku.com
127.0.0.1 vid.atm.youku.com
127.0.0.1 walp.atm.youku.com
#百度:
127.0.0.1 a.baidu.com
127.0.0.1 baidutv.baidu.com
127.0.0.1 bar.baidu.com
127.0.0.1 c.baidu.com
127.0.0.1 cjhq.baidu.com
127.0.0.1 cpro.baidu.com
127.0.0.1 drmcmm.baidu.com
127.0.0.1 e.baidu.com
127.0.0.1 eiv.baidu.com
127.0.0.1 hc.baidu.com
127.0.0.1 hm.baidu.com
127.0.0.1 ma.baidu.com
127.0.0.1 nsclick.baidu.com
127.0.0.1 spcode.baidu.com
127.0.0.1 tk.baidu.com
127.0.0.1 union.baidu.com
127.0.0.1 ucstat.baidu.com
127.0.0.1 utility.baidu.com
127.0.0.1 utk.baidu.com
127.0.0.1 focusbaiduafp.allyes.com
#奇艺
127.0.0.1 afp.qiyi.com
127.0.0.1 focusbaiduafp.allyes.com
#CNTV
127.0.0.1 a.cctv.com
127.0.0.1 a.cntv.cn
127.0.0.1 ad.cctv.com
127.0.0.1 d.cntv.cn
127.0.0.1 adguanggao.eee114.com
127.0.0.1 cctv.adsunion.com
#新浪视频
127.0.0.1 dcads.sina.com.cn
#pptv
127.0.0.1 pp2.pptv.com
#乐视
127.0.0.1 pro.letv.com
#搜狐高清
127.0.0.1 images.sohu.com
#CNTV
127.0.0.1 a.cctv.com
127.0.0.1 a.cntv.cn
127.0.0.1 ad.cctv.com
127.0.0.1 d.cntv.cn
127.0.0.1 adguanggao.eee114.com
127.0.0.1 cctv.adsunion.com
#我乐网
127.0.0.1 acs.56.com
127.0.0.1 acs.agent.56.com
127.0.0.1 acs.agent.v-56.com
127.0.0.1 bill.agent.56.com
127.0.0.1 bill.agent.v-56.com
127.0.0.1 stat.56.com
127.0.0.1 stat2.corp.56.com
127.0.0.1 union.56.com
127.0.0.1 uvimage.56.com
127.0.0.1 v16.56.com
#6间房
127.0.0.1 pole.6rooms.com
127.0.0.1 shrek.6.cn
127.0.0.1 simba.6.cn
127.0.0.1 union.6.cn
#土豆网
127.0.0.1 adextensioncontrol.tudou.com
127.0.0.1 iwstat.tudou.com
127.0.0.1 nstat.tudou.com
127.0.0.1 stats.tudou.com
127.0.0.1 *.p2v.tudou.com*
127.0.0.1 at-img1.tdimg.com
127.0.0.1 at-img2.tdimg.com
127.0.0.1 at-img3.tdimg.com
127.0.0.1 adplay.tudou.com
127.0.0.1 adcontrol.tudou.com
127.0.0.1 stat.tudou.com
#酷6网
127.0.0.1 1.allyes.com.cn
127.0.0.1 analytics.ku6.com
127.0.0.1 gug.ku6cdn.com
127.0.0.1 ku6.allyes.com
127.0.0.1 ku6afp.allyes.com
127.0.0.1 pq.stat.ku6.com
127.0.0.1 st.vq.ku6.cn
127.0.0.1 stat0.888.ku6.com
127.0.0.1 stat1.888.ku6.com
127.0.0.1 stat2.888.ku6.com
127.0.0.1 stat3.888.ku6.com
127.0.0.1 static.ku6.com
127.0.0.1 v0.stat.ku6.com
127.0.0.1 v1.stat.ku6.com
127.0.0.1 v2.stat.ku6.com
127.0.0.1 v3.stat.ku6.com
#激动网
127.0.0.1 86file.megajoy.com
127.0.0.1 86get.joy.cn
127.0.0.1 86log.joy.cn
#天线视频
127.0.0.1 casting.openv.com
127.0.0.1 m.openv.tv
127.0.0.1 uniclick.openv.com
#迅雷看看屏蔽:
127.0.0.1 mcfg.sandai.net
127.0.0.1 biz5.sandai.net
127.0.0.1 server1.adpolestar.net
127.0.0.1 advstat.xunlei.com
127.0.0.1 mpv.sandai.net

#然后就可以痛痛快快的看视频了!
Jan 18

网站访问量不够怎么办? 不指定

felix021 @ 2011-1-18 21:15 [IT » 网络] 评论(1) , 引用(0) , 阅读(5147) | Via 本站原创
向ISP买流量,尤其是湖北武汉电信。

有的时候在任意网站右下角会弹出广告;有的时候网页打不开会自动跳到114la,有的时候在百度百科空白处点击会打开news.cnhubei.com的迷你主页,有的时候点击的链接会用 www.sosole.net:3437 的/redirect11.php来进行重定向,顺便还可以显示广告。

我国的ISP,生财有道,一个字,牛X。
Jan 15

Dropbox Shareable Link 代理 不指定

felix021 @ 2011-1-15 00:06 [IT » 网络] 评论(0) , 引用(0) , 阅读(3514) | Via 本站原创
众所皆知,Dropbox在国内被墙奸了,本来非常非常好用的Shareable link没法使用。由于我有个Godaddy的空间,不限流量,且访问Dropbox的服务器速度非常快,因此写了这个脚本,用于从Dropbox的服务器下载Shareable Link的文件,然后再提供给访问者。

右击文件,在Dropbox菜单中选择Get Shareable Link会打开一个下载页面,地址类似于 https://www.dropbox.com/s/89i1mlkd9uy2sc5/test.txt ,这个下载页面中有对应的短链接,类似于 http://db.tt/ZhRdVPZ ,页面中部有一个下载链接,下载地址类似于 https://dl.dropbox.com/s/89i1mlkd9uy2sc5/test.txt?dl=1

假设index.php位于 http://yoursite/db/index.php,那么可以使用 http://yoursite/db/?surl=ZhRdVPZ 来下载这个文件。为了方便连接的拼凑,可以将下面给出的一段代码保存为书签,在下载页面点击(执行),就可以获取拼好的链接。

代码会先检查这个文件是否是由你的用户share的(可以在config.php里面修改是否检查、昵称),详情查看config.php(使用editplus或者其他支持UTF-8编码的编辑器)。

书签代码:
javascript:var url='http://felix021.com/db/?surl='+encodeURIComponent(token.link.replace(/.*\//g, '')); void(prompt('拷贝', url));
p.s. felix021.com替换为你自己的域名。

代码下载:dbshare0.1.tar.gz
Sep 25
比如在路由器上用lighttpd起的端口在80
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

再比如自己开了一个服务端口在9999
iptables -A INPUT -p tcp --dport 9999 -j ACCEPT

tomato默认不开多余的端口……
Aug 29

i贴吧rss订阅 不指定

felix021 @ 2010-8-29 21:24 [IT » 网络] 评论(0) , 引用(0) , 阅读(3102) | Via 本站原创
百度的i贴吧没有官方的rss实现,挺郁闷的。花了点时间用PHP写了这个。

测试过,GoogleReader可以正常订阅;HTTP/HTTPS兼容。代码挺难看的。

要求:支持curl库的PHP空间。如果不支持curl,可以自己用fsockopen简单模拟一下。
下载文件 (已下载 675 次)
Jul 19

SO_REUSEADDR 不指定

felix021 @ 2010-7-19 21:49 [IT » 网络] 评论(0) , 引用(0) , 阅读(3893) | Via 本站原创
前一阵和momo讨论到他的基于UDP的某个系统的设计时遇到这样一个问题:在一个局域网中有多台机器,有个消息是通过UDP广播发出的,且每台机器有多个进程需要监听同一个UDP端口,应该怎么办?

由于所知有限,当时我给的解决方案是,使用类似observer模式来建立一个稍复杂的服务(其实就是个转发,但是UDP进程数量未知)。后来momo发现,其实只要通过setsockopt设置SO_REUSEADDR属性之后,多个程序就可以绑定同一个端口了。

虽然问题是解决了,但是SO_REUSEADDR并没有上面提到的那么简单,因为momo遇到的问题正好是UDP广播/多播。否则上述模型就不适用了。这里有一篇文章,对其有更详细的注解,虽然是摘自《UNIX网络编程》的,但是给出了例子,很值得学习。

SO_REUSEADDR例解:http://www.cppblog.com/ace/archive/2006/04/29/6446.aspx
unix网络编程 第一卷:http://wenku.baidu.com/view/99a6cc38376baf1ffc4fad6f.html

Jul 8

facebook javascript sdk 杂记2 不指定

felix021 @ 2010-7-8 22:55 [IT » 网络] 评论(0) , 引用(0) , 阅读(3532) | Via 本站原创
在不是用iframe测试iframe app的时候(就是在新窗口打开iframe的url)可以在地址栏执行
javascript:FB.api({ method: 'Auth.revokeAuthorization' });
来取消所有已经取得的权限,包括Basic Info、Bookmark,当刷新apps.facebook.com/xxxx的时候会要求重新认证。再未重新认证时如果在非iframe的方式测试FB.ui({method:'bookmark.add'}, cb)会出现
引用
An error occurred with APP_NAME. Please try again later.
API Error Code: 200
API Error Description: Permissions error
Error Message: Permissions error
用这种方式(注:$是jQuery里头的函数)javascript:$('#id')[0].style.visibility='hidden'; 可以让某个元素不可见,但是再次改为visible时不会需要重新载入。IE8、FF3.5、Chrome5测试通过。

FB.login(cb, {perms:'perm1,perm2,...'}) 给cb的参数response的属性perms 【如function cb(response){ alert(response.perms); }】 包含的是所有授权的perms列表,逗号分隔;无论这次login方法请求的perms是多少个。
分页: 4/26 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]