社区
通信技术
帖子详情
如何从这结构中取出地址与端口
hanxian
2005-07-02 03:01:08
sockaddr_in = record
sa_family: u_short;
sa_data: array[0..13] of Char;
end;
这是通过getPeerName返回客户端地址信息的变量类型
如何从sa_data: array[0..13] of char 这个数组中取回IP 与PORT
...全文
156
9
打赏
收藏
如何从这结构中取出地址与端口
sockaddr_in = record sa_family: u_short; sa_data: array[0..13] of Char; end; 这是通过getPeerName返回客户端地址信息的变量类型 如何从sa_data: array[0..13] of char 这个数组中取回IP 与PORT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
li2002
2005-07-22
打赏
举报
回复
这里我再想说明几点:
Siw(浪中沙) 所说的结构没有错。但是给出得端口号 port 需经过转换。
从结构里取出 port:
1、ntohs(); 例:port = ntohs( sa_data.sin_port )
向结构例写入 port:
2、htons() 例:sa_data.sin_port = htons( port )
这里转换函数的字符串含义:
h 表示主机 host.
to 转换方向从左至右
n 表示网络 net
s 表示短字 short
l 表示长字 long
jenycheng
2005-07-15
打赏
举报
回复
学习......
li2002
2005-07-14
打赏
举报
回复
在程序开始 uses 中加上 winsock 以后,sockaddr_in 可直接调用:
sa_data: sockaddr_in;
端口号写入结构中:
sa_data.sin_port := htons(1234);
IP地址写入结构中:
sa_data.sin_addr.S_addr := inet_addr('192.168.0.1');
从结构里取出端口号:
port:=ntohs(sa_datar.sin_port);
从结构里取出IP地址:
IP := inet_ntoa(sa_data.sin_addr);
qrlvls
2005-07-04
打赏
举报
回复
UP,楼上正解
这是一个标准的 SOCKADDR_IN 结构
Caps77
2005-07-04
打赏
举报
回复
接分
Siw
2005-07-03
打赏
举报
回复
sockaddr_in的实际使用结构如下
struct sockaddr_in
{
u_short sin_family; //Address Family
u_short sin_port; //IP Port
in_addr sin_addr; //IP address
char sin_zero[8]; //Padding to make structure the same size as SOCKADDR
}.
具体定义说明可以参看MSDN中对 SOCKADDR,SOCKADDR_IN的定义
其实只要知道数据分布情况,就能提取需要的信息了。
根据你的情况,可以提取你需要的信息(我是按照C++语法描述)
端口号为
u_short port = ((short*)sa_data)[0];
IP地址为
long ip = ((long*)(sa_data+2))[0];
或者是
uchar b_i = sa_data[2+i]。
hanxian
2005-07-02
打赏
举报
回复
UP
hanxian
2005-07-02
打赏
举报
回复
.....
好像没人知道
hanxian
2005-07-02
打赏
举报
回复
UP
UP
UP
UP
CCNA_CCNP 思科网络认证 PAT NAT
端口
或
地址
转换 与端
Re:CCNA_CCNP 思科网络认证 PAT NAT
端口
或
地址
转换 与
端口
映射 ====================== # 本章课程大纲 公网
地址
和私网
地址
NAT应用场景 ...
从SOCKADDR_STORAGE
结构
中
取IP
地址
和
端口
本人在做IOCP模型的编程时,遇到一个问题就是从SOCKADDR_STORAGE
结构
中
,
取出
客户的IP
地址
和
端口
,以利于统计因为SOCKADDR_STORAGE
结构
比较复杂,而且兼容了IPV4和IPV6的版本,是直接取不出来的,仔细研究"windows 网络...
SOCKADDR_STORAGE
结构
中
取IP
地址
和
端口
就是从SOCKADDR_STORAGE
结构
中
,
取出
客户的IP
地址
和
端口
,以利于统计 因为SOCKADDR_STORAGE
结构
比较复杂,而且兼容了IPV4和IPV6的版本,是直接取不出来的, 仔细研究"windows 网络编程"
中
的代码,意识到,不管怎么样,在收发...
从sockaddr
结构
获取IP和
端口
从sockaddr
结构
中
提取IP, 先将
结构
sockaddr转为sockaddr_in
结构
,然后用在利用相关API将其
中
的IP
地址
从网络格式转化我们熟悉点分十进制的字符串。 一、sockaddr和sockaddr_in
结构
程序员不应操作sockaddr
结构
,...
网络编程1—— IP
地址
+
端口
号 +TCP/IP协议 + 协议分层的封装与应用
开始网络编程的篇章喽!本文介绍了IP
地址
+
端口
号 + TCP/IP协议以及数据进行网络传输时的封装与应用,让这些高大上的名词变成为你运用的知识。
通信技术
4,356
社区成员
28,926
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章