Socket 编程基本流程

这里所讲的是基于Windows套接字编程的基本流程,Linux下的Socket编程也是大同小异,可以参考。

今天先大概讲一下基本流程:

1.创建套接字

使用CSocket类创建套接字对象时通过该类的构造函数创建的:

CSocket::CSocket();

例如:

CSocket sock;


2.绑定地址信息(服务端)

如果创建的服务器套接字,那么就要调用Bind()将套接字对对象与服务器地址信息绑定

BOOL Bind(const SOCKADDR* lpSockAddr, int nSockAddrLen );

调用成功着返回true;否则,返回false。

lpSockAddr : 指定将要绑定的服务器地址结构,

nSockAddrLen : 表示地址结构的长度。


3.启动监听(服务端)

地址信息绑定套接字成功后,还需要调用函数Listen()在指定端口监听客户端的连接请求。

BOOL  Listen( int  nConnectionBacklog = 5);

nConnectionBacklog : 表示套接字监听客户端请求的最大数目1~5。默认为5.


4.连接服务器(客户端)

客户端创建套接字成功后,可以调用Connect()向服务器发送连接请求。

BOOL Connect(  const  SOCKADDR*  lpSockADDR,  int  nSockAddrLen);

调用成功返回true,否则返回false。

lpSockADDR  : 连接的服务器地址结构。

nSockAddrLen  : 地址结构的长度。


5.数据交换

服务器和客户端都是调用Send()和Receive()进行数据通信。

virtual  int  Send(  const void*  lpBuff,  int  nBufLen,  int  nFlags  =  0);

virtual  int  Receive(  void*  lpBuf,  int nBufLen,  int  nFlages  = 0);


6.关闭套接字对象

当服务器和客户端通信完成后,还需要调用Close()函数关闭套接字。

virtual  void  Close();

例如:

sock.Close();


好了今天就写到这下次再弄个实例看看。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值