ChinaUnix.net
相关文章推荐:

linux socket 系统调用实现

一个进程A,创建一个socket,通过该socket把数据包发出去,当该数据包的应答回来后, linux 操作系统是如何把该数据送到该socket,让进程A去读取数据?

by 316953425 - 内核源码 - 2014-01-21 09:34:40 阅读(1288) 回复(8)

相关讨论

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso...

by gaocheng - Linux文档专区 - 2009-10-29 13:46:21 阅读(1085) 回复(0)

目前写了一个客户端与服务器端利用网络通讯的程序。客户端在windows平台下,服务器端是基于linux的。在通讯过程中,服务器端根据接收到的客户端数据进行处理,但同时要求客户端能够随时中止服务器端。在服务器端不想采用多进程或线程。不知道linux下有没有异步socket通信机制,我的客户端在windows下采用了异步socket通信机制。

by wbchu - Linux环境编程 - 2007-12-14 13:10:06 阅读(11809) 回复(3)

服务器端程序: /********************************************************** * server.c * 服务器端程序 * *********************************************************/ #include #include #include #include #include #include #include #include #define BUFSIZE 8192 #define DEFAULT_PORT 5320 enum{CMD_NAME,SRC_PORT}; int execute(char *command,char *buf,int bufmax); int main(int argc,char *argv[]) { struc...

by badb0y - Linux文档专区 - 2008-12-19 22:52:59 阅读(798) 回复(0)

linux2.6内核环境下,建立AF_UNIX的socket通过send、recv实现用户层和内核的通信,类似ioctl、netlink等。 问题一,内核中实现和用户层通信的代码是那些?内核是如何区分出AF_UNIX类的socket的而不是AF_INET,不同socket它们的send、recv操作是不是同样的内核代码来实现? 问题二,想要AF_UNIX的socket实现自定义一些命令来和让用户和内核通信,类似于ioctl、netlink,可以实现吗?有没有思路呢? 请大师们不吝赐教。

by beyond907 - 内核源码 - 2008-10-22 09:14:23 阅读(1841) 回复(2)

请问各位高手有什么书籍讲的比较详细关于linuxsocket实现

linuxsocket

by yxy19877012 - 内核源码 - 2011-03-30 20:56:57 阅读(3639) 回复(3)

linux2.6内核环境下,建立AF_UNIX的socket通过send、recv实现用户层和内核的通信,类似ioctl、netlink等。 问题一,内核中实现和用户层通信的代码是那些?内核是如何区分出AF_UNIX类的socket的而不是AF_INET,不同socket它们的send、recv操作是不是同样的内核代码来实现? 问题二,想要AF_UNIX的socket实现自定义一些命令来和让用户和内核通信,类似于ioctl、netlink,可以实现吗?有没有思路呢?

by beyond907 - 内核源码 - 2008-10-22 10:01:39 阅读(1708) 回复(3)

关于系统调用劫持 如果一个木马要隐藏起来,不被系统管理员发现。截获系统调用似乎是必须的。大部分情况下,通过修改系统调用表来实现系统调用的劫持。下面是一个典型的截获系统调用的模块: 模块一: #include #include #include #include #include #include #include #include #include MODULE_LICENSE("GPL"); extern void* sys_call_table[]; /*sys_call_table is exported, so we can accessit. But in some sys...

by g84ch - Linux文档专区 - 2009-09-02 23:07:03 阅读(1421) 回复(0)

应用程序要想访问内核必须使用系统调用从而实现从usr模式转到svc模式。下面咱们看看它的实现过程。 系统调用是os操作系统提供的服务,用户程序通过各种系统调用,来引用内核提供的各种服务,系统调用的执行让用户程序陷入内核,该陷入动作由swi软中断完成。 at91rm9200处理器对应的linux2.4.19内核系统调用对应的软中断定义如下: #if defined(__thumb__) //thumb模式 #define __syscall(name) \ "push {r7}\n\t" \ "mov r7, #...

by fascination - Linux文档专区 - 2009-05-11 10:48:34 阅读(650) 回复(0)

linux系统调用实现是用中断,即int 0x80 实现的。 可intel 386专门给出了调用门,来实现调用高的优先级代码,而且可以传参。为什么linux不用调用门而用中断门呢? 调用门除了可以传参外,另外和中断门不一样的是,中断压栈的是 ss esp eflags cs eip,调用门是 ss esp cs eip,即没有压入eflags。我觉得中断是没有进程上下文的,所以应该保存eflags,但系统调用是从属于某个进程的(是由进程调用的),所以系统调用就不应该在...

by wubingzheng - 内核源码 - 2008-03-14 19:08:29 阅读(2291) 回复(3)

linux系统调用替换的简单实现 /*================================== LKM study gcc -c open_sys.c insmod open_sys.o kernel verion 2.4.7.10 ===================================*/ #define MODULE #define __KERNEL__ #ifdef MODVERSIONS #include #endif #include #include #include /* you can read entity.S*/ #define __NR_open 5 #define __NR_getuid 201 int uid; asmlinkage int (*ori...

by danforn - Linux文档专区 - 2008-01-02 17:07:14 阅读(867) 回复(0)