1、 利用C语言编写一个简单的以太网通信程序,利用网络调试助手作为服务器或客户端,通信内容不限。
时间: 2024-03-16 19:44:45 浏览: 78
以下是一个简单的以太网通信程序,其中使用了 Winsock 库来实现网络通信,可以用网络调试助手作为服务器或客户端。
```c
#include <stdio.h>
#include <winsock2.h> // 需要链接 ws2_32.lib 库文件
#pragma comment(lib,"ws2_32.lib") // 链接 ws2_32.lib 库文件
int main()
{
// 初始化 Winsock 库
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {
printf("WSAStartup failed.\n");
return 1;
}
// 创建套接字
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == INVALID_SOCKET) {
printf("socket failed.\n");
WSACleanup();
return 1;
}
// 连接服务器
SOCKADDR_IN serverAddr;
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = inet_addr("服务器IP地址");
serverAddr.sin_port = htons(端口号);
if (connect(sock, (SOCKADDR*)&serverAddr, sizeof(serverAddr)) == SOCKET_ERROR) {
printf("connect failed.\n");
closesocket(sock);
WSACleanup();
return 1;
}
// 发送数据
char sendbuf[1024] = "Hello, this is a test message.";
send(sock, sendbuf, strlen(sendbuf), 0);
// 接收数据
char recvbuf[1024];
int recvlen = recv(sock, recvbuf, sizeof(recvbuf), 0);
if (recvlen > 0) {
recvbuf[recvlen] = '\0';
printf("Received message: %s\n", recvbuf);
}
// 关闭套接字
closesocket(sock);
// 清理 Winsock 库
WSACleanup();
return 0;
}
```
需要注意的是,需要将代码中的服务器 IP 地址和端口号修改为实际的值。另外,如果使用网络调试助手作为服务器,需要在网络调试助手中打开服务器模式,并指定相应的端口号。
阅读全文
相关推荐


















