1 / 17
文档名称:

网络编程基础.doc

格式:doc   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

网络编程基础.doc

上传人:n22x33 2016/6/29 文件大小:0 KB

下载得到文件列表

网络编程基础.doc

相关文档

文档介绍

文档介绍:网络编程基础网络编程基础一、关于语言、编译器及系统我们知道, 在计算机里面进行程序设计至少需要掌握一种程序设计语言。常见的程序设计语言包括 C/C++ 、 ASM 、 BASIC 、 Delphi 、 Perl 等, 你随便根据兴趣去学****一种语言都可以实现程序设计这个目的, 这些语言并没有谁比谁更好的问题( 这是一个理解问题, 实际上一些语言应该说比一些语言更先进, 比如可以说 C++ 比C 更先进, 但不能说谁比谁好,每一种语言都是优秀思想的结晶,我这样理解) ,只是它们的侧重点不同。比如, ASM 、C 比其他语言更接近系统的底层,使得它们适合做系统方面的程序设计、而用 BASIC 可以更快的设计应用程序等。作为网络程序设计我更喜欢 C/C++ 语言,它有目标程序较小、运行速度快等优点, 还包括****惯问题( 所以, 下面的描述中如果不特别说明,都以 C/C++ 为例) ,当然选择什么语言进行程序设计是见仁见智的问题( 你决定选择 C/C++ 了吗?如果决定了, 下面的的描述会更有针对性)。我们选择好一种语言后, 并编写好了程序代码, 这么样才能让系统运行我们的程序呢?这就需要编译器了, 编译器的作用就是把类似下面的源代码编译成系统可以识别并执行的代码: # include <> int main() { printf( “ hello word.\r\n ”); return 0; } 所有的语言都有自己的编译器,C 语言的编译器有 TC、 BC等, C++ 语言的编译器有 Visual C++ 、 C++ Builder 等。 C和 C++ 语言的关系是很密切的, C++ 语言是 C 语言的超集,而因为向下的兼容性,所以, 如果你写的 C 源代码符合 ANSI C 标准,那么其在 C和 C++ 的编译器里面都可以编译,相反, C++ 的源代码只能在 C++ 的编译器中编译。那么编译器除了可以把源代码编译成可执行代码还有其他的作用吗?答案是有, 一般的情况下, 编译器都提供一个集成的环境给设计这编写、编译程序, 还包括一系列的函数库, 比如上面例子中的 prinr f 就是 提供的一个库函数。在涉及到网络程序设计中,常听到 Winsock 、 Winapi 等说法,而这些也是编译器提供的一套库函数, 而这些库函数有一些编译器是不提供的,如 TC、 BC 等,所以这些编译器不可以你作为网络程序设计的编译器, 当然, 这些编译器不适合作为网络程序设计的编译器还有其他重要的原因。常看见下面这样的问题: 这个程序我用 TC 怎么编译不了? 可以不可以用 TC 编写网络程序? …现在告诉你, 不可以, 除了上面的原因, 更重要的原因是我们现在程序所运行的平台是 Windows (当然有其他的,但情况是类似的),而 Winsock 、 Winapi 本身是由系统( Windows )提供给我们的接口,编译器是帮助我们使用这些接口的桥梁,而 TC 等编译器本身没有这个功能,所以不能使用它们来帮助我们编写网络程序。还有, TC 等编译器是为 DOS 等 16 位操作系统设计的, 已经不能够适用我们现在 32 位的操作系统环境了。所以,我推荐 Visual C++ 、 C++ Builder 或其他 32位 C++ 编译器。 Visual C++ 、 C++ Builder 或其他的 32位 C++ 编译器谁更好呢?这也是见仁见智的问题, 常见到有些报道说现在的 C++ Builder 比 Visual C++ 要好,这两个编译器不断的在竞争、攀比。我选择 Visual C++ , 并不是说它比 C++ Builder 好, 而是因为它编写的可执行代码( 目标文件)比较小,这也不是说它比 C++ Builder 好,而是因为它是 Microsoft 出品的,而 Windows 也是 Microsoft 出品的,在 Window s 的发行版本中本身就包含了很多运行库,这样 Visual C++ 的目标代码比较小。二、关于代理一般做坏事的时候都害怕对方发现自己的真实 IP ,怎么办?用代理是简单的办法。下面描述如何编程使用各种代理。 1、 HTTP 代理 HTTP 代理可以把我们的 HTTP 请求通过 HTTP ***转发到我们要访问的 HTTP 服务器,再把结果返回给我们,以达到代理的目的。但其功能单一, 只能实现 HTTP 的代理, 具体可以查看 RFC 2068 、 261 6 等相关 RFC 文档。正常情况下, 我们请求 HTT P 服务是这样的: 首先和目的服务器的 HTT P 服务端口建立 TCP 连接,然后做类似“ GET / HTTP/ ”的请求, HTTP 服务器