.Net under unix-like systems: mono

MS看着Java凭借着可移植性占领了广大的市场,自然不甘心,于是搞出了.Net——MS版Java。实话说,.Net和Java很多地方差不多的……由于.Net需要可移植性,因此.Net程序里面其实并不是机器码——实际上是MS的一种中间代码,也就是经过了一半编译过程的代码。既然是独立于系统的,.Net也就很容易被移植到MS没有兴趣/不想移植的系统上。由此,mono便诞生了——可以在Linux/BSD/unix-like上跑.Net程序。貌似mono自己写了.Net的一大堆类库(当然很多还没有写出来…… 但可以混混了~)。从前装好mono,运行的时候,报告gdiplus.dll找不到。我把Windows下面那个搬到了很多地方,都没有用。今天再试,突然想到可能需要原生的gdiplus,一看,果然发现有libgdiplus这个port,装好之后出现了gdiplus.so等。再运行,就没有原先的问题了。但是,mono的不完整的实现还是限制了使用…… 我用它运行从前写的ReadAsBmp程序(能够把一个文件的任何部分当作Bmp处理等),基本上可以用,但是PictureBox的Load() mono 没有实现,载入外部图像的时候就挂掉了。而另一个 NewLines 程序 (其实功能和常见的WinLinez差不多,五个珠子连起来就消掉的小游戏,为了解决自动缩放/存盘/跨平台等功能而自己写的,给我妈玩……)由于Form.set_MainMenuStrip() mono  没有实现,窗口都没出来就挂掉了,看来目前还不能使用菜单部分啊~总的来说,mono 已经不错了,只要能够完善类库,比起Java还是很有竞争力的。

好你个中国电信!

这两天上各种网站,常常被转到search.114.vnet.cn,搜索乱七八糟的东西。明显这个不是病毒的问题(哪个病毒这么好心,专门往电信的互联星空网站跑?),再加上现在乱输网址都会跑到sh.vnet.cn,遂怀疑中国电信不干好事。 首先,看nslookup。用nslookup查各个网站(im.qq.com, www.ethereal.com)等倒是没有问题,但是涉及到错误的网址么: > a Server: ns-pd.online.sh.cn Address: 202.96.209.133 Non-authoritative answer: Name: a Address: 218.83.175.154 而218.83.175.154和sh.vnet.cn Name: sh.vnet.cn Address: 218.83.175.138 是同一个局域网的。难道有叫a的网址…… 而且输b,c,d,aa,…..都一样。 这个也就算了,反正我很少输错网址的~ 但是,下面这个问题严重了。比如,我上mobile.qq.com: 注:202.96.209.5 上海的一个DNS 202.96.209.133 上海的另一个DNS ***** From Ethereal (www.ethereal.com) Output ****** (My IP)->202.96.209.5 DNS Standard query AAAA mobile.qq.com 202.96.209.5->(My IP) DNS Standard query response, Server failure(My IP)->202.96.209.133 DNS Standard query AAAA mobile.qq.com 202.96.209.133->(My IP) DNS Standard query response, Server failure(My IP)->202.96.209.5 DNS Standard query AAAA mobile.qq.com.HenryPC.org // 1秒以后 (My IP)->202.96.209.5 DNS Standard query AAAA mobile.qq.com.HenryPC.org // 又1秒 (My IP)->202.96.209.133 DNS Standard query AAAA mobile.qq.com.HenryPC.org 202.96.209.133->(My IP) DNS Standard query response A 218.83.175.154// 就是这一行,搞来一个错误的IP (My IP)->218.83.175.154 HTTP GET / HTTP/1.1 // 当中有host: mobile.qq.com, 说明我的机器把这个IP当作mobile.qq.com了! 218.83.175.154->(My IP) HTTP/1.1 200 OK (text/html) 返回的html: <script> s=String(window.location.href); … var KeyList = new Array(273); KeyList[0] = “\262\312\301\345” … KeyList[13] = “mp3” … KeyList[77] = “msn” KeyList[78] = “dj” KeyList[79] = “nba” … KeyList[95] = “s.h.e” … KeyList[273] = “\267\277\262\372”; t=”http://search.114.vnet.cn/search_web.html?id=596&fm=pro&kw=”+KeyList[myradom()]+”&s=83″; //t=”http://218.30.64.194/response.asp?MT=”+mylocal+”&srch=5&prov=&utf8″; document.location.href = t; </script> 也就是这个HTML,导致浏览器跑到search.114.vnet.cn去了…… 后面的纪录就是从search.114.vnet.cn获取网页的过程了…… 关键也就是先解析mobile.qq.com不给回答,然后解析mobile.qq.com.HenryPC.org(假如原来的不行,Windows会加上默认的本地域名,我的机器上是HenryPC.org),这个原本应该给出NXDOMAIN(无此域名)的查询,竟然返回了电信的广告网站,问题就这样出现了…… 所以说,完全是因为电信的DNS的胡作非为导致了这个问题! 经过用nslookup试验,发现: 当我用A方式查询(也就是IPv4的模式),DNS基本正常,但是NXDOMAIN变成了广告页面。 但是当我用AAAA方式查询(IPv6的模式,一般网站还没有这个模式),电信DNS对普通域名返回SERVFAIL(Server Fail),而对不存在的域名也返回广告! …

Continue reading ‘好你个中国电信!’ »

少科站的Project和Delphi 2005 Personal

在少科站接了个项目,和JohnJin、Hearson一起搞,打算用Delphi做。上网一看,发现Delphi竟然出了免费的版本(Personal),心想Borland什么时候这么好了…… 免费申请Key的时候才发现,这个Personal Edition不是能够公开下载的,据说附在DVD版的PC Plus杂志(没听说过……),以及澳洲个人电脑杂志(也没有听说过……)里面。 后来终于找到一个链接,结果下下来是德文的,提供了个补丁能变成英文,但是还是剩了不少德文(Yes->Ja Declare->Deklariert)…… 启动之后,感觉性上和Delphi 6大不相同,倒是很像VS.NET,这个么…… 不是很好吧,但是用起来还算习惯。除了按下’.’之后的提示之外,现在还有某个东西在哪里定义的详细说明,以及参数什么什么的…… 比原来漂亮不少。

FreeBSD中读取Ethernet Address的一种可行方法

#include <net/if.h>#include <ifaddrs.h>#include <net/if_dl.h>#include <net/ethernet.h> int main(){    struct ifaddrs *list;    if(getifaddrs(&list) < 0)    {        perror("getifaddrs");        return;    }            struct ifaddrs *cur;            for(cur = list; cur != NULL; cur = cur->ifa_next)    {        if(cur->ifa_addr->sa_family != AF_LINK)            continue;        char *name = cur->ifa_name;        printf(name);printf("\n");        char *addr;        struct sockaddr_dl *sdl;   …

Continue reading ‘FreeBSD中读取Ethernet Address的一种可行方法’ »

eMule 的欢迎信息……

莫名想起来开eMule,连接上 DonkeyServer No2,结果服务器发来的欢迎信息是这样的: server version 17.14 (lugdunum)Note to chinese users of this server.It seems many chinese people use a modified eMule that abuse servers.Unfortunatly we cannot tell what is the name of this mod.This *buggy* version sends automatic searches, over and over and servers suffer a LOTPlease use standard emule program 0.47b, or we will …

Continue reading ‘eMule 的欢迎信息……’ »

Kylin? FreeBSD?

起因是看见FBCN上的一篇文章 http://www.freebsdchina.org/forum/viewtopic.php?t=29513&sid=c2bdabd7915f8e15fd280a4fd3b5b566 更好的版本:http://blog.csdn.net/DanceFire/archive/2006/04/27/679782.aspx 还有什么话好说呢…… 这个事情“显然是显然的”…… Kylin or FreeBSD? 这是一个问题?这不是一个问题……