社区
网络编程
帖子详情
TCP中,客户端连接成功后如何获取自己的端口号?
Eddie780
2018-12-28 02:18:00
客户端连接到了服务器的10080端口,在服务器上看到客户端的连接IP是【25.77.148.91:8679】。
这个IP是客户端的IP,而这个端口号8679是客户端自己随机分配的。这个端口号服务器能获取到,但客户端自己如何获取到这个端口号?用什么API获得?
...全文
2771
9
打赏
收藏
TCP中,客户端连接成功后如何获取自己的端口号?
客户端连接到了服务器的10080端口,在服务器上看到客户端的连接IP是【25.77.148.91:8679】。 这个IP是客户端的IP,而这个端口号8679是客户端自己随机分配的。这个端口号服务器能获取到,但客户端自己如何获取到这个端口号?用什么API获得?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
getsockname
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) );
TCP
通讯
中
:
客户端
软件如何指定本地
端口号
?
TCP
通讯
中
:
客户端
如何指定软件的本地
端口号
? 最近在Socket 通讯
中
用 Socket完成了对
客户端
接收服务端信息以及 往服务端发送信息的功能。具体方法介绍如下: 通过Load方法 加载到指定的服务端口(IP+Port) class SocketClient { public static readonly SocketClient Current = new SocketClient(); Thread threadClient ...
TCP
连接
中
客户端
的
端口号
是如何确定的?
在
TCP
连接
中
,
客户端
在发起
连接
请求前会先确定一个
客户端
端口,然后用这个端口去和服务器端进行握手建立
连接
。那么在 Linux 上,
客户端
的端口到底是如何被确定下来的呢?事实上很多我们平时遇到的问题都和这个端口选择过程相关,如果能深度理解这个过程,将有助于我们对这些问题的深刻理解。Cannot assign requested address 报错是怎么回事?一个
客户端
端口可以同时用在两条
TCP
连接
上吗?还是让我们借助一段简单到只有两句的代码,从这个来讲起!
【网络通信与信息安全】之深入解析
TCP
连接
中
如何确定
客户端
的
端口号
一、前言 在
TCP
连接
中
,
客户端
在发起
连接
请求前会先确定一个
客户端
的端口,然后用这个端口去和服务器端进行握手建立
连接
。那么在 Linux 上,
客户端
的端口到底是如何被确定下来的呢? 事实上,我们平时很多遇到的问题都和这个端口选择过程相关,如果能深度理解这个过程,将有助于我们对这些问题进行更深刻理解: Cannot assign requested address 报错是怎么回事? 一个
客户端
的端口可以同时用在两条
TCP
连接
上吗? 借助一段简单到只有两句的代码说起: int mai
Qt
中
的Q
Tcp
Socket作为
客户端
的时候
获取
绑定的
端口号
在socket
中
,
客户端
socket并不是必须调用bind函数来指定
端口号
。而是在
连接
成功
之后会给
客户端
socket自动分配一个可用的
端口号
。 解决办法 在Q
Tcp
Socket调用了connectToHost函数
成功
连接
服务端之后。会触发一个 Q
Tcp
Socket::connected信号。编写相关的槽函数。在槽函数
中
调用 localPort 函数就可以
获取
客户端
自动绑定的
端口号
。 ...
linux
TCP
客户端
指定
端口号
连接
服务端
Linux下面貌似没有什么直接开启或者关闭端口的命令,因为若仅仅只是开启了端口而不把它与进程相联系的话,端口的开启与关闭就显得毫无意义了(开了端口却没有程序处理进来的数据)。也就是说,Linux里面端口的活动与进程是紧密相连的,如果想要关闭某个端口,那么只要杀掉它对应的进程就可以了。 一般linux
tcp
编程流程如下: 但如果
TCP
客户端
需要指定本地源
端口号
则需要在调用connect()之前调用bind()函数来绑定
端口号
:
客户端
代码 include <stdio.h> in..
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章