博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP编程的迷惑
阅读量:6265 次
发布时间:2019-06-22

本文共 555 字,大约阅读时间需要 1 分钟。

server : ip -- 192.168.96.132

 

client: ip--192.168.96.131

 

 

在服务端,accept函数的其中一个入参是listen-socket,会返回一个新的connection-socket。通过connection-socket,调用getpeername,可以得到客户端的IP和端口。通过connection-socket,调用getsockname,可以得到本地的IP和端口。

按我直观的理解,这个端口应该是个随机的端口,因为connection-socket是新建的socket,是和listen-socket不同的socket。但事实令我不解,这个端口竟然和listen-socket绑定的端口是相同的。

Answer:原来我们看socket,不能光看到通过socke API或accept API创建的socket,心中要有图画,这个socket是和远方连接的。每个socket由四元组组成,本地IP,本地端口,远方IP,远方端口。虽然accept函数返回的connection-socket调用getsockname返回的IP和端口同listen-socket绑定的IP和端口是相同的,但因为他们的远方连接的不同,所以他们是不同的socket。不要迷惑。

 

转载地址:http://nsdpa.baihongyu.com/

你可能感兴趣的文章
Java8新特性--日期和时间API
查看>>
python itertools
查看>>
Eclipse自动补全+常用快捷键
查看>>
Dubbo 浅读
查看>>
payload有效载荷(转)
查看>>
利用谷歌控制台console调用后台代码
查看>>
jquery 点击按钮实现listbox的显示与隐藏,点击其他地方按钮外的地方,隐藏listbox...
查看>>
CSS3 盒阴影(box-shadow)详解
查看>>
PHP基础之 file_get_contents() 函数
查看>>
跨站请求伪造攻击 CSRF
查看>>
strace
查看>>
linux mysql命令
查看>>
CentOS+Nginx+PHP+MySQL详细配置(图解)
查看>>
冲刺(5)
查看>>
SQL判断字段列是否存在
查看>>
LeetCode - Find Duplicate Subtrees
查看>>
搭建android开发环境Android Studio
查看>>
求$y=Asin(\omega x+\phi)+k$类的解析式
查看>>
用PROCEDURE ANALYSE优化MYSQL表结构
查看>>
从4个方面提高用户体验
查看>>