我将数据发送到端口号为5152的IP地址127.0.0.1。通过套接字编程,我发送数据(“Hello world”)。我收到51 Bytes发送的确认。但我如何知道上述IP地址中收到的数据是否正确。
我创建了一个服务器应用程序,我在这里使用相同的IP和端口号。
// Create our listening socket
//
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (sListen == SOCKET_ERROR)
{
printf("socket() failed: %d\n", WSAGetLastError());
return 1;
}
// Select the local interface and bind to it
//
if (bInterface)
{
local.sin_addr.s_addr = inet_addr(szAddress);
if (local.sin_addr.s_addr == INADDR_NONE)
usage();
}
else
local.sin_addr.s_addr = htonl(INADDR_ANY);
local.sin_family = AF_INET;
local.sin_port = htons(iPort);
if (bind(sListen, (struct sockaddr *)&local,
sizeof(local)) == SOCKET_ERROR)
{
printf("bind() failed: %d\n", WSAGetLastError());
return 1;
}
绑定失败,出现10048错误。
答案 0 :(得分:1)
取决于您要连接的内容。如果它是您的应用程序,套接字打开的事实证明您已经有一个侦听套接字:只显示它接收的内容(或配置服务器上的跟踪以显示它)。
处理网络开发时的另一个想法是使用wireshark监控实际的网络流量。
答案 1 :(得分:0)
您发送了数据 - 现在需要接收数据!
您需要在同一个盒子上创建一个侦听端口5152的服务器,并让它显示从您的客户端收到的内容。
答案 2 :(得分:0)
您的错误是“地址已在使用中”。这意味着其他一些程序打开了端口。 您可以在命令行中看到使用“netstat”监听的程序列表。或许那样 会帮助你搞清楚。
Wireshark是一个方便的应用程序,可以查看通过网络发送的内容。非常方便调试这些类型的程序。