C ネットワーク プログラミングでは、ネットワーク接続の確立には次の関数が含まれます。socket(): ソケットを作成します。 connect(): ソケットをリモート ホストおよびポートに接続します。ネットワーク接続を閉じるには、close() 関数を使用する必要があります。
#C 関数は、ネットワーク プログラミングにおける接続の確立と終了を行う
ネットワーク プログラミングでは、ネットワーク接続の確立と終了は非常に重要です。 C には、これらの操作を処理するための関数がいくつか用意されています。ネットワーク接続の確立
: ネットワーク通信用のソケットを作成します。
: ソケットをリモート ホストおよびポートに接続します。
コード例: TCP 接続の確立
#include <sys/socket.h> #include <netinet/in.h> int main() { // 创建套接字 int socket_fd = socket(AF_INET, SOCK_STREAM, 0); // 设置服务器地址信息 struct sockaddr_in server_addr; server_addr.sin_family = AF_INET; server_addr.sin_port = htons(8080); server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 连接到服务器 connect(socket_fd, (struct sockaddr *) &server_addr, sizeof(server_addr)); // ... 继续执行其他操作 ... }
ネットワーク接続を閉じる
: ソケットを閉じます。
コード例: TCP 接続を閉じる
#include <sys/socket.h> int main() { // ... 获取已连接的套接字 fd ... // 关闭套接字 close(socket_fd); }
実践的なケース
上記の関数を使用すると、簡単に次のことができます。 C のネットワーク プログラミングで接続の確立と切断を実装します。たとえば、単純な TCP クライアントとサーバーを作成して、これらの機能が何を行うかを示します。クライアント コード:
#include <sys/socket.h> #include <netinet/in.h> #include <iostream> int main() { // 创建套接字并连接到服务器 int socket_fd = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in server_addr; server_addr.sin_family = AF_INET; server_addr.sin_port = htons(8080); server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); connect(socket_fd, (struct sockaddr *) &server_addr, sizeof(server_addr)); // 发送数据到服务器 std::string msg = "Hello from client!"; send(socket_fd, msg.c_str(), msg.size(), 0); // 关闭连接 close(socket_fd); return 0; }
サーバー コード:
#include <sys/socket.h> #include <netinet/in.h> #include <iostream> int main() { // 创建套接字并绑定到端口 int socket_fd = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in server_addr; server_addr.sin_family = AF_INET; server_addr.sin_port = htons(8080); server_addr.sin_addr.s_addr = INADDR_ANY; bind(socket_fd, (struct sockaddr *) &server_addr, sizeof(server_addr)); // 监听连接 listen(socket_fd, 5); // 接受连接 int client_socket_fd = accept(socket_fd, NULL, NULL); // 从客户端接收数据 char buffer[256]; recv(client_socket_fd, buffer, sizeof(buffer), 0); std::cout << "Received from client: " << buffer << std::endl; // 发送响应到客户端 std::string msg = "Hello from server!"; send(client_socket_fd, msg.c_str(), msg.size(), 0); // 关闭连接 close(client_socket_fd); close(socket_fd); return 0; }
以上がネットワーク プログラミングで C++ 関数はどのようにネットワーク接続を確立したり閉じたりするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。