Linux 内核模块中socket占用端口不能释放解决办法

来源:互联网 发布:网络歌手双笙照片 编辑:程序博客网 时间:2024/06/01 07:26

在linux内核模块中编写socket程序时,用bind绑定了一个端口后,发送数据可以成功。

但是端口不能及时释放,下次加载模块时,会出现地址被占用的提示。

需要等一会后,这个端口才会释放。

但是为了能马上再绑定使用这个端口,在内核模块中可以使用kernel_setsockopt()函数设置(主要是设置为SO_REUSEADDR,即可以使用已经绑定的端口):


方法如下:

int rc;

int val=1;

rc = kernel_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,(char *)val, sizeof(val));


其中重点是 SO_REUSEADDR: 可以使用的已经绑定的端口,sock就是你用的套接字

具体这个函数的参数可看百度百科(用户态下的setsockopt,参数与内核态一样):http://baike.baidu.com/link?url=gqx0MG3VFepNBor1JCXre61WkpYfzjyo-G10fPMvBGB1i3oRYT9Pzt-_gGYVevIpiHeaXznjPqiI82mufwgSe_


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝没收到货确认收货了怎么办 美团评论被删怎么办 拼多多恶意差评怎么办 淘宝评论被删了怎么办 淘宝买东西错怪店家了怎么办 淘宝骗删除差评怎么办 淘宝买家号虚假交易违规怎么办 淘宝商家一直不发货怎么办 淘宝商家不发货也不退款怎么办 淘宝买家恶意差评怎么办 淘宝评价完了忘截图了怎么办 12306app登录不上怎么办 淘宝换绑支付宝失败怎么办 淘宝和手机不兼容怎么办 换号之后微信怎么办 手机不兼容的应用程序怎么办 微信版本低登录不了怎么办 软件与系统不兼容怎么办 软件与手机系统不兼容怎么办 qq和手机不兼容怎么办 来个软件不兼容怎么办 安卓8.0不兼容app怎么办 两条内存不兼容怎么办 王者荣耀软件不兼容怎么办 冒险岛不兼容win7怎么办 百度网盘手机号换了怎么办 破解版游戏闪退怎么办 安卓手机软件不兼容怎么办 安卓8.0软件闪退怎么办 游戏与手机系统不兼容怎么办 耳机和手机不兼容怎么办 软件和手机不兼容怎么办 小米6开关键失灵怎么办 同步助手下载不了微信旧版本怎么办 闲鱼退货卖家拒收怎么办 闲鱼把联系人删了怎么办 闲鱼付款了卖家不发货怎么办 红米4c卡怎么办 如果买鞋子买到假的怎么办 猎趣永久封号钱怎么办 支付宝换绑定手机后怎么办