Server端如何通过Socket发送数据给Client
用MFC在Server端程序:
Create(...);
Listen(...);
OnReceive(...);
在Client端程序:
Connect(pHostAddress, pHostPort);
CSocket::Send( pData, pLength);
Client可以发送数据给Server,但是我使用CSocket::Send( pData, pLength)从Server发送到Client,就没有接收到任何的数据,不知道这是为什么
或者我没有在Server端使用bind函数?
不过我在
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=194673
找到相应的bind问题:
CSocket server;
server.Create(9999,NULL,NULL);
也可以吧?
和下面写法有区别吗?
SOCKADDR_IN serverSockAddr;
serverSockAddr.sin_port=htons(9999);
serverSockAddr.sin_family=AF_INET;
serverSockAddr.sin_addr.s_addr=htonl(INADDR_ANY);
serverSocket=socket(AF_INET, SOCK_STREAM, 0);
bind(serverSocket, (LPSOCKADDR) &serverSockAddr, sizeof(serverSockAddr));
有人这样说道:
------------------------------------------------------------
是一样的。
serverSocket.Create(9999,NULL,NULL);这种方法用的是mfc,而bind(serverSocket, (LPSOCKADDR) &serverSockAddr, sizeof(serverSockAddr));这种方法用的是api。实际上第一种方法中mfc也是调用api函数bind来完成绑定端口的工作的。
------------------------------------------------------------
我也不是很了解其中的原因,有人能给我说说吗?多谢!