VC网络编程入门

一、 在VC中进行WINSOCK的API编程开发的时候,需要在项目中使用下面三个文件,否则会出现编译错误。

  1.WINSOCK.H: 这是WINSOCK API的头文件,需要包含在项目中。

  2.WSOCK32.LIB: WINSOCK API连接库文件。在使用中,一定要把它作为项目的非缺省的连接库包含到项目文件中去。

  3.WINSOCK.DLL: WINSOCK的动态连接库,位于WINDOWS的安装目录下。

二、服务器端操作 socket(套接字)

1)在初始化阶段调用WSAStartup()


2)建立Socket

 

SOCKET PASCAL FAR socket(  int  af,  int  type,  int  protocol )
参数: af:目前只提供 PF_INET(AF_INET);
type:Socket 的类型 (SOCK_STREAM、SOCK_DGRAM);
protocol:通讯协定(如果使用者不指定则设为0);


3)绑定端口

 

int  PASCAL FAR bind( SOCKET s,  const   struct  sockaddr FAR  * name, int  namelen );

参 数: s:Socket对象名;
name:Socket的地址值,这个地址必须是执行这个程式所在机器的IP地址;
namelen:name的长度;


4)监听

 

int  PASCAL FAR listen( SOCKET s,  int  backlog );
参 数: s:需要建立监听的Socket;
backlog:最大连接个数;

int  PASCAL FAR WSAAsyncSelect( SOCKET s, HWND hWnd,unsigned  int  wMsg,  long  lEvent );
参数: s:Socket 对象;
hWnd :接收消息的窗口句柄;
wMsg:传给窗口的消息;
lEvent:被注册的网络事件,也即是应用程序向窗口发送消息的网路事件,该值为下列值FD_READ、FD_WRITE、FD_OOB、FD_ACCEPT、FD_CONNECT、FD_CLOSE的组合,各个值的具体含意为FD_READ:希望在套接字S收到数据时收到消息;FD_WRITE:希望在套接字S上可以发送数据时收到消息;FD_ACCEPT:希望在套接字S上收到连接请求时收到消息;FD_CONNECT:希望在套接字S上连接成功时收到消息;FD_CLOSE:希望在套接字S上连接关闭时收到消息;FD_OOB:希望在套接字S上收到带外数据时收到消息。 

 

5)服务器端接受客户端的连接请求

 

SOCKET PASCAL FAR accept( SCOKET s,  struct  sockaddr FAR  * addr, int  FAR  * addrlen );
参数:s:Socket的识别码;
addr:存放来连接的客户端的地址;
addrlen:addr的长度

 

6)结束 socket 连接

int  PASCAL FAR closesocket( SOCKET s );
参 数:s:Socket 的识别码;
int PASCAL FAR WSACleanup( void
 );
参 数: 无

三、客户端Socket的操作

1)建立客户端的Socket

2)提出连接申请

 

int  PASCAL FAR connect( SOCKET s,  const   struct  sockaddr FAR  * name,  int  namelen );
参 数:s:Socket 的识别码;
name:Socket想要连接的对方地址;
namelen:name的长度

四、数据的传送

 

int  PASCAL FAR send( SOCKET s,  const   char  FAR  * buf, int  len,  int  flags );
参数:s:Socket 的识别码
buf:存放要传送的资料的暂存区
len buf:的长度
flags:此函数被调用的方式

 

int  PASCAL FAR recv( SOCKET s,  char  FAR  * buf,  int  len,  int  flags );
参数:s:Socket 的识别码
buf:存放接收到的资料的暂存区
len buf:的长度
flags:此函数被调用的方式



  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值