C小加

厚德 博学 求真 至善 The bright moon and breeze
posts - 145, comments - 195, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

面向连接的Socket通信是基于TCP的。网络中的两个进程以客户机/服务器模式进行通信

   服务器程序要先于客户机程序启动,每个步骤中调用的
Socket函数如下:

1)调用WSAStartup()函数加载Windows Sockets动态库,然后调用socket()函数创建一个流式套接字,返回套接字号s

2)调用bind()函数将套接字s绑定到一个已知的地址,通常为本地IP地址。

3)调用listen()函数将套接字s设置为侦听模式,准备好接收来自各个客户机的连接请求。

4)调用accept()函数等待接受客户端的连接请求。

5)如果接收到客户端的请求,则accept()函数返回,得到新的套接字ns

6)调用recv()函数接收来自客户端的数据,调用send()函数向客户端发送数据。

7)与客户端的通信结束后,服务器程序可以调用shutdown()函数通知对方不再发送或接收数据,也可以由客户端程序断开连接。断开连接后,服务器进程调用closesocket()函数关闭套接字ns。此后服务器程序返回第4步,继续等待客户端进程的连接。

8)如果要退出服务器程序,则调用closesocket()函数关闭最初的套接字s

客户端程序在每一步骤中使用的函数如下:

1)调用WSAStartup()函数加载Windows Sockets动态库,然后调用socket()函数创建一个流式套接字,返回套接字号s

2)调用connect()函数将套接字s连接到服务器。

3)调用send()函数向服务器发送数据,调用recv()函数接收来自服务器的数据。

4)与服务器的通信结束后,客户端程序可以调用shutdown()函数通知对方不再发送或接收数据,也可以由服务器程序断开连接。断开连接后,客户端进程调用closesocket()函数关闭套接字。

 


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理