socket封装与TCP/IP

stuman 2009-07-06 08:14:30
如果说socket封装了TCP/IP协议,那么编程时为什么还要分出各种协议呢?直接用socket不就行了吗.我买了一本vc网络编程的书,书里一个章节介绍一个协议,但是我看到每章介绍完协议后就用socket来编程.那么socket与这些各种各样的协议有什么关系呢?socket是不是封装了各种协议呢?不同的协议里用到的socket是不是不同呢?
...全文
326 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangle6688 2009-07-14
  • 打赏
  • 举报
回复
socket可不仅仅支持TCP/UDP。。。至少还支持IPX、ATM甚至红外传输协议。。。

基本上,socket类似于电话机,协议类似于语言,你可以用汉语打电话给你老妈,也可以用英语打电话给你老板
glouze 2009-07-14
  • 打赏
  • 举报
回复
学软件的为什么要学硬件原理~~~

你这个问题大概就和这个差不多
glouze 2009-07-14
  • 打赏
  • 举报
回复
看看~~~~~~~~~~~~~~~~~
jasonM2008 2009-07-14
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 fangle6688 的回复:]
socket可不仅仅支持TCP/UDP。。。至少还支持IPX、ATM甚至红外传输协议。。。

基本上,socket类似于电话机,协议类似于语言,你可以用汉语打电话给你老妈,也可以用英语打电话给你老板
[/Quote]
很形象!
rularys 2009-07-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sailtoyouSCU 的回复:]
我也刚刚学习,是个新手菜鸟 和楼主有同样的困惑。
我看了楼上的一些答复 觉得还是不是很明白哈 都知道概念是一个是应用程序的接口 一个是协议 不说上层的吧
比如说TCP吧 协议 说了那么多TCP的传输控制。但是到了socket 就是设置了下参数而已嘛 都被socket给封装了,TCP学习来对socket编程用到什么地方?
[/Quote]

原理的学习,对上层的应用可能没什么用处——用socket的时候,只要知道TCP与UDP之间的区别就行了。

真要说能用在什么地方,那就是你用socket的时候,你可以根据你的知识来进行进行合适的决策——该用TCP 还是 UDP;还有就是细节上的优化,这时候就要深入技术的实现细节才能胜任;最后就是debug,有时候可能要在比socket更底层的栈上进行错误侦查。

这和学习系统的API有点像,虽然只要利用API文档就能够设计出一个应用,但是,有时候很有必要深入学习系统本身的实现
johnnychen1026 2009-07-13
  • 打赏
  • 举报
回复
路过
Evenque 2009-07-13
  • 打赏
  • 举报
回复
学习。
zys85 2009-07-12
  • 打赏
  • 举报
回复
TCP/UDP本质是不同的,在SOCKET的封装下,很多不同被隐藏了。
如果不了解TCP/UDP,网络编程一开始是没有问题的,但是遇到复杂的运用或者复杂的网络情况,就会有越来越多的问题。
sailtoyouSCU 2009-07-12
  • 打赏
  • 举报
回复
我也刚刚学习,是个新手菜鸟 和楼主有同样的困惑。
我看了楼上的一些答复 觉得还是不是很明白哈 都知道概念是一个是应用程序的接口 一个是协议 不说上层的吧
比如说TCP吧 协议 说了那么多TCP的传输控制。但是到了socket 就是设置了下参数而已嘛 都被socket给封装了,TCP学习来对socket编程用到什么地方?
teleinfor 2009-07-11
  • 打赏
  • 举报
回复
SOCKET仅仅是程序设计提供的应用接口而已,和通信协议没有任何的本质联系。只不过提供一个应用程序接口,供用户使用协议实现应用而已。
ZOthello 2009-07-11
  • 打赏
  • 举报
回复
一个是插口,一个是协议。插口使用具体的协议~
tianya921 2009-07-10
  • 打赏
  • 举报
回复
学习,学习................
rularys 2009-07-10
  • 打赏
  • 举报
回复
socket 是有一种应用接口,TCP/UDP是网络传输协议。


虽然接口相同,但是不同的协议会有不同的服务性质,实际应用的时候,要看实际情况来选择协议
zl20040205 2009-07-07
  • 打赏
  • 举报
回复
应用程序协议 HTTP FTP TELNET
传输协议 TCP UDP
网际协议 IP
物理层协议 网卡
http://hi.baidu.com/5999852/blog/item/40f0f52b749ecbfde7cd40ee.html
msdn2009_2010 2009-07-06
  • 打赏
  • 举报
回复
up
zoulie 2009-07-06
  • 打赏
  • 举报
回复
socket是一种模型
tcp,udp应用又不同,比如http,ftp,telent。。
yanghehong 2009-07-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 stuman 的帖子:]
如果说socket封装了TCP/IP协议,那么编程时为什么还要分出各种协议呢?直接用socket不就行了吗.我买了一本vc网络编程的书,书里一个章节介绍一个协议,但是我看到每章介绍完协议后就用socket来编程.那么socket与这些各种各样的协议有什么关系呢?socket是不是封装了各种协议呢?不同的协议里用到的socket是不是不同呢?
[/Quote]

恩 有一些区别。比方说TCP协议和UDP协议就有一些性质上的不同,所以应用场合和使用方法就有一些不同。


- 千里孤行

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧