作者:朱金灿
来源:blog.csdn.net/clever101
如何理解Windows Socket?
我的理解:Windows Socket相当于Windows平台上两个网络实体开辟的一条通信通道,这条通信通道的实现细节对网络双方是不可见的(呵呵,你就知道它是Windows制造)。通过这条通道,网络双方可以传输各种数据。
你可能急不可待地问这条通道是怎样开辟的呢?下面我以服务器段和客户端作为网络双方进行说明。请看下图:
这样你看明白了吗?服务器和客户端之间的连接实际上是服务器端Socket和客户端Socket之间的连接。那么在程序中具体如何呢?实际上很简单,就是在服务器端程序创建一个Socket类对象,在客户端程序创建一个Socket类对象,然后把连接、数据传输等网络通信等工作交给他俩去做。
了解了Socket通信模型,你是不是觉得Windows Socket网络编程不像想象中那么难呢?然后你可以去了解MFC中的Socket类CAsyncSocket和CSocket类的用法,建议你重点看看那篇《Windows Sockets:
Socket Notifications》以及下面的
• Windows
Sockets: Using Class CAsyncSocket
• Windows
Sockets: Deriving from Socket Classes
• Windows
Sockets: How Sockets with Archives Work
• Windows
Sockets: Blocking
• Windows
Sockets: Byte Ordering
• Windows
Sockets: Converting Strings
其实MFC中的Socket类和CWnd类有一点是相似的,就是有一些消息激发函数。你需要理解什么条件下这些函数会响应。最后我建议你看懂《Windows Sockets: Socket Notifications》的例程(点击Sample链接),那是一个简单的聊天程序,这对理解Socket很有好处(我就是从那得到启发的)。
分享到:
相关推荐
Socket网络编程学习笔记 C# yuanma
Socket网络编程学习笔记Socket网络编程学习笔记
Socket网络编程学习笔记(4) C# yuanma
Socket网络编程学习笔记(6) c# yuanma
WindowsSocket网络编程.pdf
Socket网络编程学习笔记(1):常用方法介绍
这是linux嵌入式Socket网络编程学习笔记,想要学习linux嵌入式Socket网络编程的同学可以下载学习
精通windows socket网络编程VC++光盘代码内容
Socket网络编程学习笔记(1) C yuanma
Socket网络编程学习笔记(5) C# yuanma
Socket网络编程学习笔记(3) c# yuanma
Socket网络编程学习笔记之---使用线程池提高性能
该笔记主要介绍的网络编程中涉及的网络计算机的基本概念,第二章及第三章分别对TCP./IP、UDP两种网络编程进行了不同级别的编程解释,适合初次接触网络编程的朋友,通俗易懂,希望对大家有用
这事我在自学socket网络编程时,通过在网上查找资料,整理的~
Socket网络编程进阶与实战系统掌握Socket核心技术,本课程将理论结合实践,带你从零开始,系统学习Socket编程技术,让Socket的学习不再那么零散与难以掌握,同时会提炼出Socket网络传输的核心思想与构架,并带你踩坑...