读书人

socket?解决方案

发布时间: 2012-03-09 16:54:57 作者: rapoo

socket?
想请教下 服务器端代码在发送和接收部分都是用的SockeConnect这个套接字来 Send 和 Receive,而没有用SocketListen执行这两个操作。


因为对于对于服务器端的接收数据 我理解应该是SocketListen来Receive 而不应该由SocketConnect这个socket来Receive.
这点请高手讲解下。

[解决办法]
每个连接套接字是通过监听套接字创建的,必须在相方建立连接后,连接套接字才能接发数据。
而监听套接字就是个牵线指路的,像现实生活中的接线员一样。
[解决办法]
服务器端编程,一般创建2个套接字,一个套接字用来监听,一个套接字用来IO操作。
一般步骤:
1. WSAStartup初始化套接字资源
2. socket()创建套接字
3. bind()绑定IP和Port
4. listen()监听客户端的连接请求
5. accept()接受客户端的connect请求,然后返回SOCKET句柄,服务器端就利用这个返回的SOCKET句柄与客户端通讯,而之前的监听的套接字仍然可以继续监听,等待下一个连接请求。
6. 通讯完成以后,closesocket关闭通讯套接字.
7. closesocket关闭监听套接字
8. WSACleanup释放套接字资源.

读书人网 >VC/MFC

热点推荐