CSocket使用流程

CSocket类是对CAsyncSocket 的继承,因此它也封装了Windows API函数。相对于CAsyncSocket 类,CSocket 是对windows socket API的更高级别的抽象化(心得:换言之,更容易使用,但难以进行如CAsyncSocket 般精准的通讯控制)。CSocket 类和CSocketFile 、CArchive 类一同应用,实现数据的发送和接收。
CAsyncSocket是只支持非阻塞模式的,而CSocket类只是支持阻塞模式。同时,与CAsyncSocket类不同的是,CSocket是与CArchive类和CArchiveFile类一起完成数据的发送和接受操作。

CSocket类由CArchive类提供其必须的阻塞。其操作函数send,sendto,accept,listen,connect,accept from并不向CSocket发送WASEWOULDBLOCK错误,而是等待操作结束。如果在这些函数操作过程中,(控制线程)调用了CANCLEBLOCKCAL则,他们会向CSocket类发送WASEWOULDBLOCK错误,即CANCLEBLOCKCAL会阻断WASEWOULDBLOCK的阻塞。

CSocket 对象的使用方法:
    1、调用CSocket 类的构造函数。
    2、调用CSocket 对象的create 函数创建windwos的SOCKET 句柄(默认为面向流的socket,即tcp,可特别指定创建udp的socket)。如果你并和CArchive 对象一起使用,你可以通过指定参数,将socket绑定到固定的端口,创建服务器端得socket。
    3、在客户端,调用CSocket 对象的Connect 函数连接服务器,而在服务器端,使用Accept 接受连接。
    4、通过将CSocket 对象作为CSocketFile对象的构建函数的输入参数,创建CSocketFile对象的同时,为CSocket 对象与CSocketFile对象建立连接。
    5、而通过将CSocketFile对象作为CArchive对象的构建函数的输入参数,可建立CSocketFile对象和CArchive对象之间的联系。
    6、完成通讯后,撤销(destroy)CArchive, CSocketFile和CSocket对象。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖洋洋的好日子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值