我做了正常(?)步骤的tcp套接字连接,如下面的代码所示。但发送有时导致错误,而服务器端打印一些日志,说连接,我不知道我的代码有什么问题。任何帮助表示赞赏。 有关稳定和可靠的Windows套接字编程的任何信息,赞赏。为什么我的winsocks2有时会发送10057错误的结果?
MSDN描述约10057错误:
Socket is not connected.A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using sendto) no address was supplied. Any other type of operation might also return this error—for example, setsockopt setting SO_KEEPALIVE if the connection has been reset.
PS:在下面的代码段的真实IP地址是由127.0.0.1取代。代码不可运行。
int connect_to_server() {
SOCKET soc;
SOCKADDR_IN serveraddr;
SOCKADDR_IN clientaddr;
unsigned char buf[1024];
WSADATA wsa;
WSAStartup(MAKEWORD(2, 2), &wsa);
/* create a tcp socket; */
if ((soc = socket(AF_INET, SOCK_STREAM, 0/*IPPROTO_TCP*/)) <= 0)
{
LOGFMTF("errcode[-1], create socket fail!");
ret