免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2120 | 回复: 7

自己设置的套接字如何在应用层中定义啊? [复制链接]

论坛徽章:
0
发表于 2011-09-23 10:07 |显示全部楼层
我自己设置的INET套接字,和传输层协议。套接字叫做SOCK_MYUDP,协议叫做MyUDP。
也就是,SOCK_MYUDP跟SOCK_STREAM同一级别,MyUDP跟TCP一个级别。

然后重新编译内核,再从这个有着我自己设置的套接字的内核启动

一切正常。

于是我写了个函数,在终端中调用我自己设置的套接字test.c

#include<sys/socket.h>
int main(int argc,char *argv[])
{
int sockfd;
if((sockfd=socket(AF_INET,SOCK_MYUDP,0))==-1)
{
perror("socket() error\n");
exit(1);
}
}
结果显示错误:error:'SOCK_MYUDP' undeclared(first use in this function)

论坛徽章:
0
发表于 2011-09-23 10:11 |显示全部楼层
查资料说,
SOCK_MYUDP只在内核中定义了,并没有在应用层中定义


我想问一下
SOCK_MYUDP如何在应用层定义呢?

论坛徽章:
0
发表于 2011-09-23 10:18 |显示全部楼层
在内核中定义在:include/asm-i386/socket.h中
……
#define SOCK_RAW 3
……
#define SOCK_MYUDP 6

论坛徽章:
0
发表于 2011-09-23 10:43 |显示全部楼层
OK了啊

直接传个6就可以了

论坛徽章:
0
发表于 2011-09-23 10:44 |显示全部楼层
突然之间想起了那首歌

啦......啦......  
一番番春秋冬夏。  
一场场酸甜苦辣。  
敢问路在何方,路在脚下。  
敢问路在何方,路在脚下。  
啦......啦......  
一番番春秋冬夏。  
一场场酸甜苦辣。  
敢问路在何方,路在脚下。  
敢问路在何方,路在脚下。  
敢问路在何方,路在脚下。  
敢问路在何方,路在脚下。
敢问路在何方……

论坛徽章:
0
发表于 2011-09-23 11:32 |显示全部楼层
回复 1# abc78400123
你的传输层协议也是调用udp协议吧。毕竟自己现在写协议的很少吧

论坛徽章:
0
发表于 2011-09-23 15:50 |显示全部楼层
回复  abc78400123
你的传输层协议也是调用udp协议吧。毕竟自己现在写协议的很少吧
wangzhen11aaa 发表于 2011-09-23 11:32



   
传输层协议 基本按照原始套接字仿写的

我的协议功能超简单

论坛徽章:
0
发表于 2011-09-23 15:51 |显示全部楼层
传输层协议 基本按照原始套接字仿写的

我的协议功能超简单
abc78400123 发表于 2011-09-23 15:50



   
我是搞着玩的,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP