当前位置:首页 > 全部子站 > IT > 水平考试

网络工程师考试常用的socket程序

来源:长理培训发布时间:2017-12-24 22:46:08

 

 Socket 编程让你沮丧吗?从 man pages 中很难得到有用的信息吗?你想 跟上时代去做一做Internet 程序,但是为你在调用 connect() 前的 bind() 的结构而愁眉不展?…

  好了,我现在已经来了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过 网络编程的沼泽,那么你来对地方了
读者
--------------------------------------------------------------------------------
这篇文章中的大多数代码都在一台 Linux PC 上用 GNU 的 gcc 成功编译过。 而且他们在一台 HPUX 上用gcc 也成功编译过。但是注意,并不是每个代码 片段都独立测试过
目录:
Internet 套接口的两种类型
struct--要么了解他们,要么等异形入侵地球
IP 地址和如何处理他们
bind()--我们在哪个端口?
listen()--有人给我打电话吗?
send() 和 recv()--Talk to me, baby!
close() 和 shutdown()--滚开!
gethostname()--我是谁?
客户-服务器背景知识
简单的客户端
阻塞
参考资料
--------------------------------------------------------------------------------
你始终听到人们谈论着 "socket",而你不知道他的确切含义。那么,现在我告诉你: 他是使用 Unix 文件描述符(fiel descriptor) 和其他程序通讯的方式
但是(注意后面的话),这个文件可能是一个网络连接,FIFO,管道,终端,磁盘上的文件 或者什么其他的东西。Unix 中所有的东西是文件!因此,你想和 Internet 上别 的程序通讯的时候,你将要通过文件描述符。最好相信刚才的话
"但是...",你可能现在叫起来,"如果他是个文件描述符,那么为什么不用一般的调用 read() 和 write()来通过套接口通讯?"简单的答案是:"你可以使用 一般的函数!"。详细的答案是:"你可以,但是使用 send() 和recv() 让你更好的控制数据传输。"
也许在你的 Unix 机器上还有其他的。我们在这里只讲第一种:Internet 套接口
Internet 套接口的两种类型
Except for this sentence, where I'm going to tell you that "Raw Sockets" are also very powerful and you should look them up.
数据报套接口有时也叫"无连接套接口"(如果你确实要连接的时候用 connect()。)
有谁在使用流式套接口?你可能听说过 telnet,不是吗?他就使用流式套接口。你需要你所输入的字符按顺序到达,不是吗?同样,WWW 浏览器使用的 HTTP 协议也使用他们。实际上,当你通过端口80 telnet 到一个 WWW 站点,然后输入 "GET pagename" 的时候,你也可以得到 HTML 的内容
Protocol)",也叫 "TCP" (请参考 RFC-793 获得详细资料。)TCP 控制你的数据按顺序到达并且没有错误。你也许听到 "TCP" 是因为听到过 "TCP/IP"。这里的 IP 是指 "Internet协议"(请参考 RFC-791.) IP 只是处理 Internet 路由而已
数据报也使用 IP 作路由,但是他不选择 TCP。他使用"用户数据报协议 (User Datagram Protocol)",也叫 "UDP" (请参考 RFC-768.)
"够了!"你也许会想,"如果数据丢失了这些程序如何正常工作?"我的朋友,每个程序在 UDP 上有自己的协议。例如,tftp协议每发出一个包,收到者发回一个包来说"我收到了!" (一个"命令正确应答"也叫"ACK"包)。如果在一定时间内(例如5秒),发送方没有收到应答, 他将重新发送,直到得到 ACK。这一点在实现 SOCK_DGRAM 应用程序的时候非常重要
网络理论
朋友们,现在是学习 数据封装 (Data Encapsulation) 的时候了! 这非常非常重要。It's so important that you might just learn about it if you take the networks course here at Chico State ;-).
当另外一台机器接收到包,硬件先剥去 Ethernet 头,内核剥去 IP 和 UDP 头,TFTP 程序再剥去 TFTP 头,最后得到数据
这种网络模型在描述网络系统上相对其他模型有很多优点。例如,你可以写一个套接口程序而不用关心数据的物理传输(串行口,以太网,连接单元接口 (AUI) 还是其他介质。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部