问:SOCKET是不是内核对象?

yongdu 2001-09-07 07:09:29
...全文
381 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
cmpp 2001-12-16
  • 打赏
  • 举报
回复
我来学习一下!
yongdu 2001-09-16
  • 打赏
  • 举报
回复
我明白了
是内核对象,因为它有内核对象的这个性质:
当我用socket1来connect后
socket2=socket1
closehandle(socket2)
socket1就断开链接了

说明它们(socket1,socket2)只是同一Socket内核对象的指针
asm386 2001-09-10
  • 打赏
  • 举报
回复
用关键字 "Kernel Objects" 到 msdn 里查查。

The following table lists each of the kernel objects, along with each object's creator and destroyer functions. The creator functions either create the object and an object handle or create a new existing object handle. The destroyer functions close the object handle. When an application closes the last handle to a kernel object, the system removes the object from memory.

Kernel Objects

Object Creator function Destroyer function

Change notification FindFirstChangeNotification FindCloseChangeNotification
Communications
device CreateFile CloseHandle
Console input CreateFile, with CONIN$ CloseHandle
Console screen buffer CreateFile, with CONOUT$ CloseHandle
Event CreateEvent, OpenEvent CloseHandle
Event log OpenEventLog, RegisterEventSource, OpenBackupEventLog CloseEventLog
File CreateFile CloseHandle, DeleteFile
File mapping CreateFileMapping, OpenFileMapping CloseHandle
Find file FindFirstFile FindClose
Heap HeapCreate HeapDestroy
Job CreateJobObject CloseHandle
Mailslot CreateMailslot CloseHandle
Module LoadLibrary, GetModuleHandle FreeLibrary
Mutex CreateMutex, OpenMutex CloseHandle
Pipe CreateNamedPipe, CreatePipe CloseHandle, DisconnectNamedPipe
Process CreateProcess, OpenProcess, GetCurrentProcess CloseHandle, TerminateProcess
Semaphore CreateSemaphore, OpenSemaphore CloseHandle
Socket socket,accept CloseHandle
Thread CreateThread, CreateRemoteThread, GetCurrentThread CloseHandle, TerminateThread
Timer CreateWaitableTimer, OpenWaitableTimer CloseHandle
Update resource BeginUpdateResource EndUpdateResource



结贴,给分。

tar 2001-09-10
  • 打赏
  • 举报
回复
适和不是,有关系码
superrg 2001-09-10
  • 打赏
  • 举报
回复
大家不要说是,也不要说不是,说出理由来就行了~~~~~~~~~
darkay 2001-09-10
  • 打赏
  • 举报
回复
^_^,据我所知道的SOCKET这个名字是这样来的:
typedef SOCKET unsigned int;
实现Socket功能的是由ws2_32.dll或者wsock32.dll 提供的。使用WinSocket的时候需要WSAStartup来调入DLL的。
han012 2001-09-10
  • 打赏
  • 举报
回复
同意asm386(草原上的狼),Socket是内核对象.

因为我相信MSDN,即使<<progamming windows>>中没有提到socket.
而且这本书中只是说"绝大多数"创建内核对象的函数都有个参数来允许指定安全属性信息,而不是说"所有".所以<<progamming windows>>说的也没错. 错的是...
xiaoyuer 2001-09-09
  • 打赏
  • 举报
回复
同意Cline(元元)所说
好像不是吧,在Windows核心编程中提到过,
内核对象在创建是有一个安全参数的是内核对象
shiyutao2010 2001-09-09
  • 打赏
  • 举报
回复
gz
zhoutianshu 2001-09-09
  • 打赏
  • 举报
回复
不是内河对象,尽管有很多河内和对象很类似
内河对象就那么几个,progamming windows里面全讲了,没有SOCKET
Cline 2001-09-09
  • 打赏
  • 举报
回复
在Create的函数中至少有一个安全参数的是内核对象.比如:

CreateProcess(
LPCWSTR lpszImageName,
LPCWSTR lpszCmdLine,
LPSECURITY_ATTRIBUTES lpsaProcess,
LPSECURITY_ATTRIBUTES lpsaThread,
BOOL fInheritHandles,
DWORD fdwCreate,
LPVOID lpvEnvironment,
LPWSTR lpszCurDir,
LPSTARTUPINFOW lpsiStartInfo,
LPPROCESS_INFORMATION lppiProcInfo);
7zkeeper 2001-09-09
  • 打赏
  • 举报
回复
我认为他只是一个结构而已,api围绕这个结构进行操作从而形成了CWinsock
bighead 2001-09-09
  • 打赏
  • 举报
回复
no
asm386 2001-09-08
  • 打赏
  • 举报
回复
当然是 内核对象。

看看 Matt Pietrek 的 windows98 系统程式设计 大奥秘
asm386 2001-09-08
  • 打赏
  • 举报
回复
写错了是
windows95 系统程式设计 大奥秘
yonghengdizhen 2001-09-07
  • 打赏
  • 举报
回复
已阅,同意UP
scklotz 2001-09-07
  • 打赏
  • 举报
回复
不是内核对象吧。内核对象有以下:
event objects
file-mapping objects
file objects
mailslot objects
mutex objects
pipe objects
process objects
semaphore objects
thread objects
其他的,比如 font, brush, window, 都是用户对象之类的。而不是内核对象。
houjzs 2001-09-07
  • 打赏
  • 举报
回复
of course
azuo_lee 2001-09-07
  • 打赏
  • 举报
回复
是。
[14本经典Android开发教程] 8 Linux内核阅读心得体会 读核感悟 2 读核感悟 Linux内核启动 内核的生成 2 读核感悟 Linux内核启动 从hello world说起 3 读核感悟 Linux内核启动 BIOS 5 读核感悟 Linux内核启动 setup辅助程序 6 读核感悟 Linux内核启动 内核解压缩 8 读核感悟 Linux内核启动 开启页面映射 9 读核感悟 Linux内核启动 链接脚本 11 读核感悟 伪装现场 系统调用参数 13 读核感悟 伪装现场 fork 系统调用 15 读核感悟 伪装现场 内核线程: 17 读核感悟 伪装现场 信号通信 19 读核感悟 kbuild系统 内核模块的编译 22 读核感悟 kbuild系统 编译到内核和编译成模块的区别 24 读核感悟 kbuild系统 make bzImage的过程 26 读核感悟 kbuild系统 make menuconfig 31 读核感悟 文件系统 用C来实现面向对象 32 读核感悟 设计模式 用C来实现虚函数表和多态 32 读核感悟 设计模式 用C来实现继承和模板 33 读核感悟 设计模式 文件系统和设备的继承和接口 34 读核感悟 设计模式 文件系统与抽象工厂 36 读核感悟 阅读源代码技巧 查找定义 37 读核感悟 阅读源代码技巧 变量命名规则 42 读核感悟 内存管理 内核中的页表映射总结 43 读核感悟 健壮的代码 exception table 内核中的刑事档案 44 读核感悟 定时器 巧妙的定时器算法 45 读核感悟 内存管理 page fault处理流程 45 读核感悟 文件读写 select实现原理 47 读核感悟 文件读写 poll的实现原理 49 1 功能介绍: 49 2 关键的结构体: 49 3 poll的实现 49 4 性能分析: 50 读核感悟 文件读写 epoll的实现原理 50 1 功能介绍 50 2 关键结构体: 51 3 epoll create的实现 53 4 epoll ctl的实现 53 5 epoll wait的实现 54 6 性能分析 54 读核感悟 同步题 同步题概述 55 1 同步题的产生背景 55 2 内核态与用户态的区别 55 读核感悟 同步内核态自旋锁的实现 56 1自旋锁的总述 56 2非抢占式的自旋锁 56 3 锁的释放 57 4 与用户态的自旋锁的比较 57 5 总结 58 读核感悟 内存管理 free命令详解 58 读核感悟 文件读写 2 6 9内核中的AIO 59 1 AIO概述 59 2 内核态AIO的使用 61 读核感悟 文件读写 内核态AIO相关结构体 61 1 内核态AIO操作相关信息 61 2 AIO上下文: 63 3 AIO ring 63 4 异步I O事件的返回信息 64 读核感悟 文件读写 内核态AIO创建和提交操作 65 1 AIO上下文的创建 io setup 65 2 AIO请求的提交:io submit实现机制 66 读核感悟 文件操作 AIO操作的执行 66 1 在提交时执行AIO 66 2 在工作队列中执行AIO 66 3 负责AIO执行的核心函数aio run iocb 67 4 AIO操作的完成 67 读核感悟 文件读写 内核态是否支持非direct I O方式的AIO 67 已上传7本: [14本经典Android开发教程] 1 Android开发从入门到精通 http: download csdn net detail cleopard 8355245 [14本经典Android开发教程] 2 Android开发手册 API函数详解 http: download csdn net detail cleopard 8374487 [14本经典Android开发教程] 3 Android SDK 中文开发文档 http: download csdn net detail cleopard 8380429 [14本经典Android开发教程] 4 Android应用程序开发36技 http: download csdn net detail cleopard 8380495 [14本经典Android开发教程] 5 linux Android基础知识总结 http: download csdn net detail cleopard 8380529 [14本经典Android开发教程] 6 Android驱动开发入门及手机案例开发分析教程 http: download csdn net detail cleopard 8388019 [14本经典Android开发教程] 7 Android编程入门教程 http: download csdn net detail cleopard 8388043 剩余8本稍后上传 @或直接从这里寻找@ http: download csdn net user cleopard album @更多@ http: cleopard download csdn net 福利 http: xuemeilaile com 17份软件测试文档 http: download csdn net album detail 1425 13份WPF经典开发教程 http: download csdn net album detail 1115 C#资料合辑二[C#桌面编程入门篇] http: download csdn net album detail 957 C#资料合辑一[C#入门篇] http: download csdn net album detail 669 [Csharp高级编程 第6版 ] 共8压缩卷 http: download csdn net album detail 667 10个[精品资源]Java学习资料合辑[一] http: download csdn net album detail 663 10个C#Socket编程代码示例 http: download csdn net album detail 631 6份GDI+程序设计资源整合[全零分] http: download csdn net album detail 625 2014年移动游戏行业数据分析 http: download csdn net detail cleopard 8340331 一文读懂2014年全球互联网广告新生态 http: download csdn net detail cleopard 8340303">[14本经典Android开发教程] 8 Linux内核阅读心得体会 读核感悟 2 读核感悟 Linux内核启动 内核的生成 2 读核 [更多]
完成端口通讯服务器(IOCP Socket Server)设计 (六)功能强大的IOCP Socket Servre模块例程源码 Copyright © 2009 代码客(卢益贵)版权所有 QQ:48092788 源码博客:http://blog.csdn.net/guestcode 一、声明 版权声明: 1、通讯模块代码版权归作者所有; 2、未经许可不得全部或部分用于任何项目开发; 3、未经许可不得部分修改后再利用源码。 免责声明: 1、 由于设计缺陷或其它Bug造成的后果,作者不承担责任; 2、未经许可的使用作者不提供任何技术支持服务。 权利和义务: 1、任何获得源码并发现Bug的个人或单位均有义务向作者反映; 2、作者保留追究侵权者法律责任的权利。 二、开发背景 部分代码由前项目分离而来,尚未有应用考验,但对于初学者学习和进阶有很大帮助。性能上尚未有定论,但应该不会令你失望。 三、功能说明 1、可以关闭Socket的Buffer; 2、可以关闭MTU(不等待MTU满才发送); 3、可以多IP或多端口监听; 4、可以重用socket(主动关闭除外); 5、可以0缓冲接收(Socket的Buffe = 0时,避免过多的锁定内存页); 6、可以0缓冲连接(客户端仅连接,不一定立即发数据); 7、可以条件编译: a、是否使用内核Singly-linked lists; b、是否使用处理线程(工作线程和处理线程分开); c、是否使用内核锁来同步链表。 8、可以实现集群服务器模式的通讯(有客户端socket); 9、可以单独设置每个连接的Data项来实现连接和Usernfo的关联; 10、每个线程有OnBegin和OnEnd,用于设置线程独立的对象(数据库会话对象); 11、可以提供详细的运行情况,便于了解IOCP下的机制,以及进行调试分析; 12、可以发起巨量连接和数据(需要硬件配置来支持)。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧