首先,你需要包含必要的头文件,并初始化socket库。然后,创建一个socket,连接到远程服务器,发送和接收数据,最后关闭socket。
这里是一个简单的TCP客户端程序代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#define SERVER_IP “127.0.0.1”
#define SERVER_PORT 12345
#define BUFFER_SIZE 1024
int main() {
int sockfd;
struct sockaddr_in server_addr;
char buffer[BUFFER_SIZE];
int bytes_read;
// 创建socket
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0) {
perror("Error creating socket");
exit(1);
}
// 设置服务器地址信息
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = inet_addr(SERVER_IP);
server_addr.sin_port = htons(SERVER_PORT);
// 连接到服务器
if (connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
perror("Error connecting to server");
exit(1);
}
// 发送数据到服务器(可选)
const char *message = "Hello, server!";
if (send(sockfd, message, strlen(message), 0) < 0) {
perror("Error sending data");
exit(1);
}
// 从服务器接收数据(可选)
memset(buffer, 0, BUFFER_SIZE);
bytes_read = recv(sockfd, buffer, BUFFER_SIZE - 1, 0);
if (bytes_read < 0) {
perror("Error receiving data");
exit(1);
}
printf("Received from server: %s\n", buffer);
// 关闭socket
close(sockfd);
return 0;
}
注意,这个示例假设你已经有一个在本地运行并监听端口12345的TCP服务器。你可以使用类似的代码来创建一个TCP服务器,或者使用现有的服务器进行测试