网络编程基础

网络编程基础

ID:20599373

大小:28.82 KB

页数:11页

时间:2018-10-14

网络编程基础_第1页
网络编程基础_第2页
网络编程基础_第3页
网络编程基础_第4页
网络编程基础_第5页
资源描述:

《网络编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、网络编程基础一、关于语言、编译器及系统     我们知道,在计算机里面进行程序设计至少需要掌握一种程序设计语言。常见的程序设计语言包括C/C++、ASM、BASIC、Delphi、 Perl等,你随便根据兴趣去学习一种语言都可以实现程序设计这个目的,这些语言并没有谁比谁更好的问题(这是一个理解问题,实际上一些语言应该说比一些语言更先进,比如可以说C++比C更先进,但不能说谁比谁好,每一种语言都是优秀思想的结晶,我这样理解),只是它们的侧重点不同。比如,ASM、C比其他语言更接近系统的底层,使得它们适合做系统方面的程序设计、而用BASIC可以更快的设

2、计应用程序等。作为网络程序设计我更喜欢C/C++语言,它有目标程序较小、运行速度快等优点,还包括习惯问题(所以,下面的描述中如果不特别说明,都以C/C++为例),当然选择什么语言进行程序设计是见仁见智的问题(你决定选择C/C++了吗?如果决定了,下面的的描述会更有针对性)。     我们选择好一种语言后,并编写好了程序代码,这么样才能让系统运行我们的程序呢?这就需要编译器了,编译器的作用就是把类似下面的源代码编译成系统可以识别并执行的代码:#include int main(){     printf(“hello word.

3、r”);     return 0;}      所有的语言都有自己的编译器,C语言的编译器有TC、BC等,C++语言的编译器有Visual C++、C++ Builder等。C和C++语言的关系是很密切的,C++语言是C语言的超集,而因为向下的兼容性,所以,如果你写的C源代码符合ANSI C标准,那么其在C和C++的编译器里面都可以编译,相反,C++的源代码只能在C++的编译器中编译。那么编译器除了可以把源代码编译成可执行代码还有其他的作用吗?答案是有,一般的情况下,编译器都提供一个集成的环境给设计这编写、编译程序,还包括一系列的函数库,比如

4、上面例子中的prinrf就是stdlib.h提供的一个库函数。在涉及到网络程序设计中,常听到Winsock、Winapi等说法,而这些也是编译器提供的一套库函数,而这些库函数有一些编译器是不提供的,如TC、BC等,所以这些编译器不可以你作为网络程序设计的编译器,当然,这些编译器不适合作为网络程序设计的编译器还有其他重要的原因。     常看见下面这样的问题:     这个程序我用TC怎么编译不了?     可以不可以用TC编写网络程序?     …     现在告诉你,不可以,除了上面的原因,更重要的原因是我们现在程序所运行的平台是Windows(

5、当然有其他的,但情况是类似的),而 Winsock、Winapi本身是由系统(Windows)提供给我们的接口,编译器是帮助我们使用这些接口的桥梁,而TC等编译器本身没有这个功能,所以不能使用它们来帮助我们编写网络程序。还有,TC等编译器是为DOS等16位操作系统设计的,已经不能够适用我们现在32位的操作系统环境了。所以,我推荐Visual C++、C++ Builder或其他32位C++编译器。     Visual C++、C++ Builder或其他的32位C++编译器谁更好呢?这也是见仁见智的问题,常见到有些报道说现在的C++ Builde

6、r比Visual C++要好,这两个编译器不断的在竞争、攀比。我选择Visual C++,并不是说它比C++ Builder好,而是因为它编写的可执行代码(目标文件)比较小,这也不是说它比C++ Builder好,而是因为它是Microsoft出品的,而Windows也是Microsoft出品的,在Windows的发行版本中本身就包含了很多运行库,这样Visual C++的目标代码比较小。二、关于代理     一般做坏事的时候都害怕对方发现自己的真实IP,怎么办?用代理是简单的办法。下面描述如何编程使用各种代理。1、HTTP代理     HTTP代

7、理可以把我们的HTTP请求通过HTTP代理服务器转发到我们要访问的HTTP服务器,再把结果返回给我们,以达到代理的目的。但其功能单一,只能实现HTTP的代理,具体可以查看RFC 2068、2616等相关RFC文档。     正常情况下,我们请求HTTP服务是这样的:首先和目的服务器的HTTP服务端口建立TCP连接,然后做类似“GET /index.html HTTP/1.0”的请求,HTTP服务器返回结果。当通过HTTP代理的时候是这样工作的:首先和HTTP代理服务器的服务端口建立TCP连接,然后做类似“GET http://目标服务器地址/ind

8、ex.htm HTTP/1.0”的请求,代理服务器对你的目标服务器做请求后返回结果给你。     相关的代码在网上很容易可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。