打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
网络通讯编程基础——TCP/UDP/IP Multicast
网络通讯编程基础——TCP/UDP/IP Multicast  作者 陆其明

关键字 Socket
原作者姓名 陆其明
文章原始出处 http://hqtech.nease.net

正文

第3章 网络应用

3.1 网络编程基础

多媒体技术与网络技术的结合,使得网络生活变得多姿多彩。从此,网络生活很迷人;网络改变了和改变着人们原本的生活方式。姑且认为DirectShow是单机的多媒体技术,一旦融合了网络技术,DirectShow更显现了它强大的生命力。本章将着重介绍DirectShow技术在网络方面的应用。
网络编程,当然要用到Windows Socket(套接字)技术。Socket相关的操作由一系列API函数来完成,比如socket、bind、listen、connect、accept、send、sendto、recv、recvfrom等。调用这些API函数有一定的先后次序,有些函数的参数还比较复杂,对于开发者来说,不是很好用。于是,微软的MFC提供了两个类:CAsyncSocket和CSocket,极大地方便了Socket功能的使用。这两个类的继承关系如图3.1。



图3.1 MFC Socket类的继承关系

CAsyncSocket类在较低层次上封装了Windows Socket API,并且通过内建一个(隐藏的)窗口,实现了适合Windows应用的异步机制(Windows Socket API默认情况下工作在阻塞模式,不方便直接在消息驱动的Windows程序上使用)。CSocket类从CAsyncSocket类派生,进一步简化了Socket功能的应用。不过很遗憾,正因为这两个类都内建了一个窗口,它们并不是线程安全的(thread-safe);如果要在多线程环境下应用Socket功能,建议自行封装Socket API函数。
使用Socket传输数据主要有两种方式:TCP传输和UDP传输。(OSI参考模型将网络通信分成7个层次,从低往上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;TCP和UDP均是传输层的协议。)下面,就分别来介绍这两种数据传输方式。

提示:本章在介绍网络通信双方的时候,会使用两组关键词:服务器-客户机和本地端-远程端。其中,服务器-客户机是根据角色来界定的;而本地端-远程端是一个相对概念,依据不同的参照物,可以分别表示不同的角色。比如以服务器为参照物,可以称服务器为本地端,称客户机为远程端;而如果以客户机为参照物,可以称客户机为本地端,称服务器为远程端。

本文摘自《DirectShow实务精选》,更多内容,请在这里下载!全文 DirectShow实务精选_3.rar

正文完

附件:

  • 说明 mfcsocket.jpg
  • 全文 DirectShow实务精选_3.rar
  • 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
    打开APP,阅读全文并永久保存 查看更多类似文章
    猜你喜欢
    类似文章
    【热】打开小程序,算一算2024你的财运
    Windows Sockets API实现网络异步通讯 | VC | 软件 | 天极Yes...
    用WINSOCK实现聊天室的VC++程序设计
    winsocket的基本概念和API函数
    基于Visual C++的Winsock API研究
    Socket、Tcp、Udp、Http 的认识及区别
    webSocket和Socket之间的区别联系
    更多类似文章 >>
    生活服务
    热点新闻
    分享 收藏 导长图 关注 下载文章
    绑定账号成功
    后续可登录账号畅享VIP特权!
    如果VIP功能使用有故障,
    可点击这里联系客服!

    联系客服