- 博客(4)
- 收藏
- 关注
原创 Linux 内核态 Socket 编程--更正
Server端代码:#include#include#include#include#include#includeint myserver(void){ struct socket *sock,*client_sock; struct sockaddr_in s_addr; unsigned short portnum=0x8870; int ret=0; m
2014-02-20 17:02:31 2690 1
原创 Linux 内核模块中socket占用端口不能释放解决办法
在linux内核模块中编写socket程序时,用bind绑定了一个端口后,发送数据可以成功。但是端口不能及时释放,下次加载模块时,会出现地址被占用的提示。需要等一会后,这个端口才会释放。但是为了能马上再绑定使用这个端口,在内核模块中可以使用kernel_setsockopt()函数设置(主要是设置为SO_REUSEADDR,即可以使用已经绑定的端口):方法如下:int
2014-02-20 15:37:21 4125
原创 -1 resource temporarily unavailable
当在内核模块中调用kernel_sendmsg() 和kernel_recvmsg()首发数据时,出现如下错误:-1 resource temporarily unavailable错误原因:写操作超时解决办法:ret=kernel_recvmsg(sock,&msg,&vec,1,1024, MSG_DONTWAIT); 最后一个参数改为 0 即:ret
2014-02-20 15:21:35 2605
原创 sys_init_module: 'client555'->init suspiciously returned 1024, it should follow 0/-E convention
当加载内合模块并执行时,出现如下错误:sys_init_module: 'client555'->init suspiciously returned 1024, it should follow 0/-E convention问题原因:当module_init()调用的函数返回值不为0.解决办法:把module_init()函数调用的那个模块初始化函数返回值改为0即可。例如初
2014-02-20 15:13:37 1793
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人