`
luliangok
  • 浏览: 816579 次
文章分类
社区版块
存档分类
最新评论

Beej’s Guide Network to Programming 系列连载01

 
阅读更多

写在篇首:

--------------------------------------------------------------------------------------

此译文不是标准的一字一句的翻译!

而是作为一个程序员的角度去理解的产物!

有兴趣的朋友可以使用邮箱和我沟通!(非常欢迎你的交流)

我的邮箱: veic_2005#163.com(把#替换为@)

------------------------------------------------------------------完美的分割线--

版权声明:


1.简介

唉!Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?但是为你在调用 connect() 前的bind() 的结构而不知所措?等等…

好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过网络编程的沼泽,那么你来对地方了。

并告诉你:我终于赶上了未来(在最后一刻)并更新了关于IPv6的指南!享受!

1.1 受众

这个文档是一个指南,而不是参考书。如果你刚开始 socket 编程并想找一本入门书,那么你是我的读者。但这不是一本完全的 socket 编程书。

1.2 平台和编译器

这篇文档中的大多数代码都在 Linux 平台PC 上用 GNU 的 gcc 成功编译过。

1.3 官方网站

http://beej.us/guide/bgnet/

1.4 Solaris/SunOS的程序员需要注意

当在Solaris或者SunOS编译时,你必须多一些参数。像下面这样:

$ cc -o server server.c -lnsl -lsocket -lresolv

1.5 Windows程序员注意

你必须增加下面的头文件(除非你安装了Cygwin)

#include <winsock.h>

而且,必须首先调用WSAStartup().像下面这样:

#include <winsock.h>

{

WSADATA wsaData; // if this doesn’t work

//WSData wsaData; // then try this instead

// MAKEWORD(1, 1) for Winsock 1.1,MAKEWORD(2, 0) for Winsock 2.0:

If (WSAStartup(MAKEWORD(1, 1),&wsaData) != 0) {

Fprintf(stderr, “WSAStartupfailed.\n”);

Exit(1);

}

}

最后,你必须调用WSACleanup().


End。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics