流式Socket使用方法
流式套接字使用的是基于连接的协议,所以其使用方法与数据报套接字的使用方法不同.用户在传输,接收数据之前必须首先建立连接,然后才能从数据流中读出数据,而不是从一个数据报或一个记录中读出数据.基使用方法如下:
流式套接字的服务器进程和客户进程在通信前必须使用函数Socket()创建各自的套接字,然后使用函数bind()绑定本机的IP地址和端口.服务器调用函数listen()建立一个监听端口,监听客户端请求,并调用函数accept()等待客户端的连接请求.客户端使用函数connect()用于请求与指定IP地址的服务器端口建立连接.连接建立后,客户端与服务器就可以用函数sent()和Recv()进行通信.最后调用函数closesocket()或close()关闭套接字连接.
MFC套接字编程
MFC对Windows Sockets进行了面向对象的封装.它将Windows Sockets封装成类CAsyncSocket和类CSocket,提供给开发人员一些主要的接口,而将细节屏蔽了.
(1)CAsyncSocket类封装了WindSock API函数,宏观经济提供的低级接口几乎和WindSockAPI的函数调用直接对应.
(2)CSocket类是从CAsyncSocket类派生而来的,它提供了高一级的抽象处理套接字通信.
(在MFC中使用套接字时,要在应用程序内函数InitInstance()中调用AfxSocketInit()函数业初始化套接字.即当使用应用程序向导创建程序的基本框架时,要选中"windows套接字"复选框).
流式套接字使用的是基于连接的协议,所以其使用方法与数据报套接字的使用方法不同.用户在传输,接收数据之前必须首先建立连接,然后才能从数据流中读出数据,而不是从一个数据报或一个记录中读出数据.基使用方法如下:
流式套接字的服务器进程和客户进程在通信前必须使用函数Socket()创建各自的套接字,然后使用函数bind()绑定本机的IP地址和端口.服务器调用函数listen()建立一个监听端口,监听客户端请求,并调用函数accept()等待客户端的连接请求.客户端使用函数connect()用于请求与指定IP地址的服务器端口建立连接.连接建立后,客户端与服务器就可以用函数sent()和Recv()进行通信.最后调用函数closesocket()或close()关闭套接字连接.
MFC套接字编程
MFC对Windows Sockets进行了面向对象的封装.它将Windows Sockets封装成类CAsyncSocket和类CSocket,提供给开发人员一些主要的接口,而将细节屏蔽了.
(1)CAsyncSocket类封装了WindSock API函数,宏观经济提供的低级接口几乎和WindSockAPI的函数调用直接对应.
(2)CSocket类是从CAsyncSocket类派生而来的,它提供了高一级的抽象处理套接字通信.
(在MFC中使用套接字时,要在应用程序内函数InitInstance()中调用AfxSocketInit()函数业初始化套接字.即当使用应用程序向导创建程序的基本框架时,要选中"windows套接字"复选框).