|
马上注册,查看更多资源,享用更多功能。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
using namespace std;
const int BUF_SIZE = 1024;
int main()
{
// 创建套接字
int serv_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
// 将套接字和 IP、端口绑定
sockaddr_in serv_addr;
memset(&serv_addr, 0, sizeof(serv_addr)); // 每个字节都用 0 填充
serv_addr.sin_family = AF_INET; // 使用 IPv4 地址
serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); // 具体的 IP 地址
serv_addr.sin_port = htons(1234); // 端口
bind(serv_sock, (sockaddr*)&serv_addr, sizeof(serv_addr));
// 进入监听状态,等待用户发起请求
listen(serv_sock, 20);
// 接收客户端请求
sockaddr_in clnt_addr;
socklen_t clnt_addr_size = sizeof(clnt_addr);
int clnt_sock = accept(serv_sock, (sockaddr*)&clnt_addr, &clnt_addr_size);
// 向客户端发送数据
char message[BUF_SIZE] = "Hello World!";
write(clnt_sock, message, sizeof(message));
// 关闭套接字
close(clnt_sock);
|
|