预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共30页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

网络编程指南 j2se网友的帖子:《我准备考试的时候所背的socket程序》(原载于HYPERLINK"http://www.exam100.com/"http://www.exam100.com/) 兄弟们在看程序之前,先听我说两句. 不要用在普通BBS灌水时的心情来看下面的资料,因为这是你要参加考试必然要碰到的东西.如果你觉得下面这段东西太长,根本静不下心来看,那我劝你还是别考了! 下面这些是BSDsocket编程的一些基础知道.如果你看历年试题的话,会惊奇的发现,2001年考的socket题就是里面的一道例题.没错,就是她了.有没有一种一定要背下他来的冲动呢?当初我就是这样想的.:) 今年的考试,多增加了一些通讯部分的内容.也许2003年的考试难度还会加大.不过那几个连接函数,肯定是万的不变的.我看到很多朋友在弄sock5之类的WinSock的东西.其实考纲里要求的并不是这些,而是最最简单,最最原始的BSDSocket 希望能给兄弟们一些帮助! ==================================================================== 介绍 Hey!Socket编程让你沮丧吗?从manpages中很难得到有用的信息吗?你想跟上时代去做一做Internet程序,但是为你在调用connect()前的bind()的结构而愁眉不展?… 好了,我现在已经来了,我将和所有人共享我的知识了。如果你了解C语言并想穿过网络编程的沼泽,那么你来对地方了。 -------------------------------------------------------------------------------- 读者 这个文档是写成一个指南,而不是参考书。如果你刚开始socket编程并想找一本入门书,那么你是我的读者。这可不是一本完全的socket编程书。 -------------------------------------------------------------------------------- 平台和编译器 这篇文章中的大多数代码都在一台LinuxPC上用GNU的gcc成功编译过。而且他们在一台HPUX上用gcc也成功编译过。但是注意,并不是每个代码片段都独立测试过。 -------------------------------------------------------------------------------- 目录: 什么是套接口? Internet套接口的两种类型 网络理论 struct--要么了解他们,要么等异形入侵地球 ConverttheNatives! IP地址和如何处理他们 socket()--得到文件描述符! bind()--我们在哪个端口? connect()--Hello! listen()--有人给我打电话吗? accept()--"Thankyouforcallingport3490." send()和recv()--Talktome,baby! sendto()和recvfrom()--Talktome,DGRAM-style close()和shutdown()--滚开! getpeername()--你是谁? gethostname()--我是谁? DNS--你说“白宫”,我说"198.137.240.100" 客户-服务器背景知识 简单的服务器 简单的客户端 数据报Socket 阻塞 select()--多路同步I/O,酷! 参考资料 DisclaimerandCallforHelp -------------------------------------------------------------------------------- 什么是socket? 你始终听到人们谈论着"socket",而你不知道他的确切含义。那么,现在我告诉你:他是使用Unix 文件描述符(fieldescriptor)和其他程序通讯的方式。 什么? Ok--你也许听到一些Unix高手(hacker)这样说:“呀,Unix中所有的东西就是文件!”那个家伙也许正在说到一个事实:Unix程序在执行任何形式的I/O的时候,程序是在读或者写一个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数。但是(注意后面的话),这个文件可能是一个网络连接,FIFO,管道,终端,磁盘上的文件或者什么其他的东西。Unix中所有的东西是文件!因此,你想和Internet上别的程序通讯的时候,你将要通过文件描述符。最好相信刚才的话。 现在你脑海中或许冒出这样的念头:“那么我从哪里得到网络通讯的文件描述符呢,聪明人?”无论如何,我要回答这个问题:你利用系