Proxy源代码分析--谈谈如何学习linux网络编程

Proxy源代码分析--谈谈如何学习linux网络编程

ID:41033098

大小:99.50 KB

页数:31页

时间:2019-08-14

Proxy源代码分析--谈谈如何学习linux网络编程_第1页
Proxy源代码分析--谈谈如何学习linux网络编程_第2页
Proxy源代码分析--谈谈如何学习linux网络编程_第3页
Proxy源代码分析--谈谈如何学习linux网络编程_第4页
Proxy源代码分析--谈谈如何学习linux网络编程_第5页
资源描述:

《Proxy源代码分析--谈谈如何学习linux网络编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Linux是一个可靠性非常高的操作系统,但是所有用过Linux的朋友都会感觉到,Linux和Windows这样的"傻瓜"操作系统(这里丝毫没有贬低Windows的意思,相反这应该是Windows的优点)相比,后者无疑在易操作性上更胜一筹。但是为什么又有那么多的爱好者钟情于Linux呢,当然自由是最吸引人的一点,另外Linux强大的功能也是一个非常重要的原因,尤其是Linux强大的网络功能更是引人注目。放眼今天的WAP业务、银行网络业务和曾经红透半边天的电子商务,都越来越倚重基于Linux的解决方案。因此Linux网络编程是非常重要的,而且当我们一接触到Linux网络编程,我们

2、就会发现这是一件非常有意思的事情,因为以前一些关于网络通信概念似是而非的地方,在这一段段代码面前马上就豁然开朗了。在刚开始学习编程的时候总是让人感觉有点理不清头绪,不过只要多读几段代码,很快我们就能体会到其中的乐趣了。下面我就从一段Proxy源代码开始,谈谈如何进行Linux网络编程。  首先声明,这段源代码不是我编写的,让我们感谢这位名叫CarlHarris的大虾,是他编写了这段代码并将其散播到网上供大家学习讨论。这段代码虽然只是描述了最简单的proxy操作,但它的确是经典,它不仅清晰地描述了客户机/服务器系统的概念,而且几乎包括了Linux网络编程的方方面面,非常适合Li

3、nux网络编程的初学者学习。  这段Proxy程序的用法是这样的,我们可以使用这个proxy登录其它主机的服务端口。假如编译后生成了名为Proxy的可执行文件,那么命令及其参数的描述为:   ./Proxy  其中参数proxy_port是指由我们指定的代理服务器端口。参数remote_host是指我们希望连接的远程主机的主机名,IP地址也同样有效。这个主机名在网络上应该是唯一的,如果您不确定的话,可以在远程主机上使用uname-n命令查看一下。参数service_port是远程主机可提供的服务名,

4、也可直接键入服务对应的端口号。这个命令的相应操作是将代理服务器的proxy_port端口绑定到remote_host的service_port端口。然后我们就可以通过代理服务器的proxy_port端口访问remote_host了。例如一台计算机,网络主机名是legends,IP地址为10.10.8.221,如果在我的计算机上执行:   [root@lee/root]#./proxy8000legendstelnet  那么我们就可以通过下面这条命令访问legends的telnet端口。---------------------------------------------

5、--------------------[root@lee/root]#telnetlegends8000Trying10.10.8.221...Connectedtolegends(10.10.8.221).Escapecharacteris'^]'RedHatLinuxrelease6.2(Zoot)Kernel2.2.14-5.0onani686Login:-----------------------------------------------------------------  上面的绑定操作也可以使用下面的命令:   [root@lee/root]#./pr

6、oxy800010.10.8.22123   23是telnet服务的标准端口号,其它服务的对应端口号我们可以在/etc/services中查看。  下面我就从这段代码出发谈谈我对Linux网络编程的一些粗浅的认识,不对的地方还请各位大虾多多批评指正。◆main()函数-----------------------------------------------------------------#include#include#include#include#include#

7、include#include#include#include#include#include#defineTCP_PROTO  "tcp"intproxy_port;   /*porttolistenforproxyconnectionson*/structsockaddr_inhostaddr;  /*hostaddrassembledfromgethos

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

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

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