求给个windows 下原始套接字的示例程序,要求使用C语言,不使用MFC。
谁给推荐的答案?能不能专业点?socket(AF_INET,SOCK_DGRAM,0)这不是UDP套接字吗?我要的是原始套接字,谢谢。...
谁给推荐的答案?能不能专业点?
socket(AF_INET, SOCK_DGRAM, 0)这不是 UDP 套接字吗?
我要的是原始套接字,谢谢。 展开
socket(AF_INET, SOCK_DGRAM, 0)这不是 UDP 套接字吗?
我要的是原始套接字,谢谢。 展开
2个回答
展开全部
#include <Winsock2.h>
void main(){
WORD wVersionRequested;
WSADATA wsaData;
WSAStartup( wVersionRequested, &wsaData );
//创建套接字,SOCK_DGRAM套接字类型,0推荐协议
SOCKET sockSrv = socket(AF_INET, SOCK_DGRAM, 0);
SOCKADDR_IN addrSrv;
//INADDR_ANY允许套接字向任何分配给本机器的IP地址发送和接收数据,可能有多个网卡
//htonl, 将u_long 从主机字节序转换为网络字节序
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSrv.sin_family = AF_INET;//指定地址族
addrSrv.sin_port = htons(6002);//端口号,htons,将u_short从主机字节序转换为网络字节序
//绑定
bind(sockSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));
while(1){
//等待接收数据
recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient, &len);
.......................
}
void main(){
WORD wVersionRequested;
WSADATA wsaData;
WSAStartup( wVersionRequested, &wsaData );
//创建套接字,SOCK_DGRAM套接字类型,0推荐协议
SOCKET sockSrv = socket(AF_INET, SOCK_DGRAM, 0);
SOCKADDR_IN addrSrv;
//INADDR_ANY允许套接字向任何分配给本机器的IP地址发送和接收数据,可能有多个网卡
//htonl, 将u_long 从主机字节序转换为网络字节序
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSrv.sin_family = AF_INET;//指定地址族
addrSrv.sin_port = htons(6002);//端口号,htons,将u_short从主机字节序转换为网络字节序
//绑定
bind(sockSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));
while(1){
//等待接收数据
recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient, &len);
.......................
}
追问
大侠,这是UDP啊,我有的是SOCK_RAW 原始套接字。。。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询