Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah fungsi C++ mewujudkan dan menutup sambungan rangkaian dalam pengaturcaraan rangkaian?

Bagaimanakah fungsi C++ mewujudkan dan menutup sambungan rangkaian dalam pengaturcaraan rangkaian?

王林
Lepaskan: 2024-04-26 17:48:01
asal
1062 orang telah melayarinya

Dalam pengaturcaraan rangkaian C++, mewujudkan sambungan rangkaian melibatkan fungsi berikut: socket(): Mencipta soket. connect(): Sambungkan soket ke hos jauh dan port. Untuk menutup sambungan rangkaian, anda perlu menggunakan fungsi close().

C++ 函数在网络编程中如何建立和关闭网络连接?

C++ berfungsi untuk mewujudkan dan merapatkan sambungan dalam pengaturcaraan rangkaian

Dalam pengaturcaraan rangkaian, mewujudkan dan menutup sambungan rangkaian adalah penting. C++ menyediakan beberapa fungsi untuk mengendalikan operasi ini.

Wujudkan sambungan rangkaian

  • soket(): Buat soket untuk komunikasi rangkaian. socket():创建一个套接字,用于网络通信。
  • connect():将套接字连接到远程主机和端口。

代码示例:建立 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));
  
  // ... 继续执行其他操作 ...
}
Salin selepas log masuk

关闭网络连接

  • close()
  • connect(): Sambungkan soket ke hos jauh dan port.

Contoh kod: Wujudkan sambungan TCP

#include <sys/socket.h>

int main() {
  // ... 获取已连接的套接字 fd ...

  // 关闭套接字
  close(socket_fd);
}
Salin selepas log masuk
Tutup sambungan rangkaian

tutup(): Tutup soket.

Contoh kod: Tutup sambungan 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;
}
Salin selepas log masuk

🎜Kes praktikal🎜🎜🎜Menggunakan fungsi di atas, anda boleh melaksanakan penubuhan sambungan dan menutup pengaturcaraan rangkaian dengan mudah dalam C++. Contohnya, tulis klien dan pelayan TCP mudah untuk menunjukkan fungsi ini. 🎜🎜🎜Kod pelanggan: 🎜🎜
#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;
}
Salin selepas log masuk
🎜🎜Kod pelayan: 🎜🎜rrreee

Atas ialah kandungan terperinci Bagaimanakah fungsi C++ mewujudkan dan menutup sambungan rangkaian dalam pengaturcaraan rangkaian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan