基本server代码


#include <iostream>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

#define BUF_SIZE 100

using namespace std;

void er(const char* mess)
{
        cout<<mess<<" error."<<endl;
        exit(0);
}

int main(int argc, char** argv)
{
        int server_sock, client_sock;
        struct sockaddr_in server_addr, client_addr;
        int len;
        char buf[BUF_SIZE];
        socklen_t addr_size = sizeof client_addr;

        server_sock = socket(PF_INET, SOCK_STREAM, 0);
        if(server_sock == -1) er("socket()");
        memset(&server_addr, 0, sizeof server_addr);
        server_addr.sin_family = AF_INET;
        server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
        server_addr.sin_port = htons(atoi(argv[1]));

        if(bind(server_sock, (struct sockaddr*)&server_addr, sizeof server_addr) == -1) er("bind()");
        if(listen(server_sock, 5) == -1) er("listen()");
        //cout<<"wati..."<<endl;

        while(1)
        {
                cout<<"wait.."<<endl;
                client_sock = accept(server_sock, (struct sockaddr*)&client_addr, &addr_size);
                if(client_sock == -1) continue;
                cout<<"continued."<<endl;
                while((len = read(client_sock, buf, BUF_SIZE)) > 0)
                        write(client_sock, buf, len);
                close(client_sock);
        }
        close(server_sock);
        return 0;
}

 

客户端代码Linux下的C++ socket编程实例 - cs_wu - 博客园 (cnblogs.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值