SOCKET Connect(CHAR* lpText, USHORT uPort)
{
SOCKET s;
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s != INVALID_SOCKET)
{
CHAR szIp[32] = {0};
sockaddr_in sa;
if (inet_addr(lpText) == INADDR_NONE)
{
if (struct hostent *hp = gethostbyname(lpText))
{
in_addr ia;
CopyMemory(&ia, hp->h_addr, hp->h_length);
lstrcpyA(szIp, inet_ntoa(ia));
}
}
else
{
lstrcpyA(szIp, lpText);
}
sa.sin_family = AF_INET;
sa.sin_port = htons(uPort);
sa.sin_addr.s_addr = inet_addr(szIp);
if (connect(s, (sockaddr*)&sa, sizeof(sa)) != 0)
{
closesocket(s);
s = INVALID_SOCKET;
}
}
return s;
}简单socket连接,tcp,备用
最新推荐文章于 2025-06-19 09:41:16 发布
本文深入探讨了SOCKET编程中的CONNECT函数,详细解释了如何通过CHAR*lpText和USHORTuPort参数进行地址和端口的配置,确保成功建立连接。包括解析域名到IP地址的过程,以及连接失败时的错误处理机制。
868

被折叠的 条评论
为什么被折叠?



