TCP中,客户端连接成功后如何获取自己的端口号?

Eddie780 2018-12-28 02:18:00
客户端连接到了服务器的10080端口,在服务器上看到客户端的连接IP是【25.77.148.91:8679】。

这个IP是客户端的IP,而这个端口号8679是客户端自己随机分配的。这个端口号服务器能获取到,但客户端自己如何获取到这个端口号?用什么API获得?
...全文
2900 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
一彤 2019-01-09
  • 打赏
  • 举报
回复
服务器返回客户端端口get√
xiaohuh421 2019-01-09
  • 打赏
  • 举报
回复
要获得自己在服务端的端口, 估计只能 自定义应用层协议,让服务器回传.
Brainer-Gao 2019-01-08
  • 打赏
  • 举报
回复
从client侧是无法获取到自己随机分配连接server侧的端口号的
Eddie780 2019-01-03
  • 打赏
  • 举报
回复
引用 3 楼 smwhotjay 的回复:
客户端自己如何获取到这个端口号? getsockname

请问:客户端调用getsockname后,得到的是【随机分配的端口号码】 还是连接服务器时候的那个【10080】?
zgl7903 2019-01-03
  • 打赏
  • 举报
回复
这个是外网IP? 如果服务器端程序也是自己做的, 那么就通信回来, 其他的访问可以返回IP地址的服务器试试看 (如http://pv.sohu.com/cityjson?ie=utf-8)


Eddie780 2019-01-03
  • 打赏
  • 举报
回复
getsockname是获取连接服务器的端口号,也就是连接时候的【10080】端口,无法获取到【8679】。有什么办法可以获取到8679呢?
smwhotjay 2018-12-28
  • 打赏
  • 举报
回复
客户端自己如何获取到这个端口号? getsockname
zgl7903 2018-12-28
  • 打赏
  • 举报
回复
smwhotjay 2018-12-28
  • 打赏
  • 举报
回复

getpeername 是对accept返回的socket 获得对方的ip port

struct sockaddr_in sa;

int len = sizeof(sa);

getpeername(AcceptSocket, (struct sockaddr *)&sa, &len);
printf("对方IP %s:%d", inet_ntoa(sa.sin_addr),ntohs( sa.sin_port) );
内容概要:本文系统研究了基于CNN-SVM的卷积神经网络与支持向量机融合的数据分类预测方法,聚焦其在工业故障识别的应用,提供了完整的Matlab代码实现。通过CNN提取输入数据的深层空间特征,再由SVM进行高精度分类,充分发挥两者优势,有效提升了故障识别的准确性、鲁棒性与泛化能力。该方法特别适用于处理电力系统、机械设备等领域的高维、非线性、强噪声监测数据,在变压器故障诊断、轴承缺陷识别等场景具有重要应用价值。文档还整合了机器学习、深度学习、图像处理、路径规划、电力系统优化等多个前沿科研方向的技术资源,配套大量Matlab/Simulink仿真案例与Python代码,全面支持科研复现与工程实践。; 适合人群:具备一定编程基础,熟练掌握Matlab或Python语言,从事电气工程、自动化、人工智能、机械故障诊断等相关领域研究的研发人员及高校研究生; 使用场景及目标:① 实现工业设备的状态监测与多类别故障分类;② 深入理解CNN与SVM融合模型的设计原理与工程实现细节;③ 借助所提供的丰富算法案例开展科研复现、模型优化与系统仿真验证; 阅读建议:建议按照文档目录结构系统化学习,结合百度网盘提供的完整代码资源进行动手实践,重点关注CNN特征提取层与SVM分类器之间的数据接口设计与参数调优策略,同时可延伸学习文涉及的其他智能算法及其在电力系统、信号处理等领域的交叉应用,全面提升科研创新能力。

18,356

社区成员

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

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