在Linux下阻塞式地建立连接可以使用以下步骤:
1. 创建一个socket:使用`socket()`函数创建一个socket,指定地址族(如AF_INET)、socket类型(如SOCK_STREAM)和协议(如0)。
2. 构建服务器地址结构:创建一个`struct sockaddr_in`结构体,设置服务器的IP地址和端口号。
3. 调用`connect()`函数进行连接:使用`connect()`函数将创建的socket与服务器地址结构连接起来。
下面是一个简单的示例代码:
c
#include
#include
#include
#include
#include
#include
int main() {
int sockfd;
struct sockaddr_in server_addr;
// 创建一个socket
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
perror("socket() error");
return -1;
}
// 设置服务器地址结构
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(8080); // 服务器端口号
server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 服务器IP地址
// 连接服务器
if (connect(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
perror("connect() error");
return -1;
}
printf("Connected to server.\n");
// 关闭socket
close(sockfd);
return 0;
}
在上面的示例代码中,我们创建了一个socket,并连接到了指定的服务器IP地址和端口号。当`connect()`函数返回后,表示连接已经建立。然后通过`close()`函数关闭socket。
查看详情
查看详情