社区
网络编程
帖子详情
WSASocket的参数IPPROTO_IP和IPPROTO_TCP
zxcdewq
2011-09-12 02:19:23
WSASocket(AF_INET,SOCK_STREAM,IPPROTO_IP,NULL,0,SOCK_STREAM);
WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,NULL,0,SOCK_STREAM);
为什么客户端和服务器端分别指定IPPROTO_IP和IPPROTO_TCP程序能正常运行?
客户端和服务器端不需要指定相同的参数吗?
...全文
380
3
打赏
收藏
WSASocket的参数IPPROTO_IP和IPPROTO_TCP
WSASocket(AF_INET,SOCK_STREAM,IPPROTO_IP,NULL,0,SOCK_STREAM); WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,NULL,0,SOCK_STREAM); 为什么客户端和服务器端分别指定IPPROTO_IP和IPPROTO_TCP程序能正常运行? 客户端和服务器端不需要指定相同的参数吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2011-09-14
打赏
举报
回复
请看下面这幅图
HTTP等(应用层)
|
TCP/UDP (运输层)
|
IP(链路层)
|
接口层
一个由网卡传送过来的帧,如果是一个HTTP等应用协议的,那么它必然在下面三层都有对应的结构,再比如,一个纯粹的IP包(比如,一个ICMP诊断包),就只有下面两层的结构。
你可以设想,当某个客户端发给服务器一个TCP包(流的一个单元),那么,如果服务器在IP设置了原始套接字的接受,也可以收到这个TCP的IP层结构。
zxcdewq
2011-09-14
打赏
举报
回复
谢谢回答。
如果客户端使用IPPROTO_TCP发送,服务器端使用IPPROTO_IP接收呢?
客户端自动加上了IP层的处理?
「已注销」
2011-09-13
打赏
举报
回复
数据的级别不一样,客户端在IP层发送,服务端以TCP层接受,这当然可以。
就像你写一个原始套接字的嗅探器,可以抓取UDP和TCP的包一样。
可以仿造
ip
ret = setsockopt(s,
IP
P
ROTO
_
IP
,
IP
_HDRINCL, (char *)bopt, sizeof(bopt); 四、实例 为帮助大家尽快地学会构造自己的
IP
头数据,特给出一个完整的实例,例子的功能是:只要给出对方的
IP
地址,就...
网络编程之PING实现
fprintf(stdout,"\nPing statistics for %s \n",dest_
ip
); fprintf(stdout," Pa
cke
ts: Sent = %d,Received = %d, Lost = %d (%2.0f%% loss)\n",times, statistic,(times-statistic),(float)(times-statistic)/...
网络编程原始套接字SO
CKE
T_RAW
SO
CKE
T_STREAM 流式套接字 ...
IP
P
ROTO
_
IP
IP
协议
IP
P
ROTO
_ICMP INTERNET控制消息协议,配合原始套接字可以实现ping的功能
IP
P
ROTO
_IGMP INTERNET 网关服务协议,在多播中用到 在AF_INET地址族下
W
SAS
o
cke
t函数
函数功能:创建套接字函数原型SO
CKE
T ...原始套接字用SOCK_RAW,可以手动构造
IP
报头 __in int p
roto
col,//指定协议如
IP
P
ROTO
_ICMP,
IP
P
ROTO
_
TCP
,
IP
P
ROTO
_UDP ,
IP
P
ROTO
_ICMPV6 ;0代表不指定协议 __in LPWSA
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章