A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 念满 中级黑马   /  2013-1-31 18:02  /  10360 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Socket是什么,一般在哪一层实现?
网络通信不是只要找到对方的IP[地址和端口号就可以通信了吗

评分

参与人数 1技术分 +1 收起 理由
邓艳秋 + 1

查看全部评分

4 个回复

倒序浏览
socket用来表示一个连接,是通过tcp/ip协议实现的,tcp是七层协议的传输层,ip协议是在网络层,tcp使用三次握手来完成数据传输的,socket就表示三次握手的一个连接。

评分

参与人数 1技术分 +1 收起 理由
邓艳秋 + 1

查看全部评分

回复 使用道具 举报
我认为是网络层
回复 使用道具 举报
socket的实现部分, 就是系统协议栈部分, 应该包含了 网络层 (ip), 传输层(tcp/udp)等等。
用socket写程序的人, 就要看用socket那部分了。 如果你直接用ip层, rawsocket, 假如你自己写个tcp协议, 那你应该做的就是传输层。
如果你是用tcp/udp等协议, 做网络应用, 那应该是应用层。

评分

参与人数 1技术分 +1 收起 理由
邓艳秋 + 1

查看全部评分

回复 使用道具 举报
我觉得套接字不能严格定义在哪一层,因为它涉及到ip以及端口,ip是在网络层,端口是在传输层
而找到ip便是找到对方在网络上的位置,找到端口便是对方主机存在这样的应用程序,对方主机有并且打开,并且没有其他安全设备的阻拦才可以通信

我们所说的套接字的编程是提供访问底层api的接口,实现应用层协议之间的通信,所以我觉得没啥处在那一层的概念

评分

参与人数 1技术分 +1 收起 理由
邓艳秋 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马