博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP通信
阅读量:4582 次
发布时间:2019-06-09

本文共 2385 字,大约阅读时间需要 7 分钟。

/-------------------------------工具包--------------/#pragma once#include
#include
#include
#include
#include
#define SERVER_IP "127.0.0.1"#define SERVER_PORT 9090#define MAX_BUFFER_SIZE 255#define LISTEN_QUEUE_SIZE 5void Perror(char *str){ perror(str); exit(1);}
#include"utili.h"int main(){    int sockSer = socket(AF_INET, SOCK_STREAM, 0);    if(sockSer == -1)        Perror("socket");    struct sockaddr_in addrSer, addrCli;    addrSer.sin_family = AF_INET;    addrSer.sin_port = htons(SERVER_PORT);    addrSer.sin_addr.s_addr = inet_addr(SERVER_IP);    socklen_t len = sizeof(struct sockaddr);    int res = bind(sockSer, (struct sockaddr*)&addrSer, len);    if(res == -1)        Perror("bind");    res = listen(sockSer, LISTEN_QUEUE_SIZE);    if(res == -1)        Perror("listen");    int sockConn;    sockConn = accept(sockSer, (struct sockaddr*)&addrCli, &len);    if(sockConn == -1)    {        printf("Server Accept Client Connect Fail.\n");        exit(1);    }    else    {        printf("Server Accept Client Connect OK.\n");    }    char sendbuf[MAX_BUFFER_SIZE];    char recvbuf[MAX_BUFFER_SIZE];    while(1)    {        printf("Ser:>");        scanf("%s",sendbuf);        send(sockConn, sendbuf, strlen(sendbuf)+1, 0);        recv(sockConn, recvbuf, MAX_BUFFER_SIZE, 0);        printf("Cli:>%s\n",recvbuf);    }    close(sockSer);    return 0;}
#include"utili.h"int main(){    int sockCli = socket(AF_INET, SOCK_STREAM, 0);    if(sockCli == -1)        Perror("socket");    struct sockaddr_in addrSer;    addrSer.sin_family = AF_INET;    addrSer.sin_port = htons(SERVER_PORT);    addrSer.sin_addr.s_addr = inet_addr(SERVER_IP);    socklen_t len = sizeof(struct sockaddr);    int res = connect(sockCli, (struct sockaddr*)&addrSer, len);    if(res == -1)    {        printf("Client Connect Server Fail.\n");        exit(1);    }    else    {        printf("Client Connect Server OK.\n");    }    char sendbuf[MAX_BUFFER_SIZE];    char recvbuf[MAX_BUFFER_SIZE];    while(1)    {        recv(sockCli, recvbuf, MAX_BUFFER_SIZE, 0);        printf("Ser:>%s\n",recvbuf);        printf("Cli:>");        scanf("%s",sendbuf);        send(sockCli, sendbuf, strlen(sendbuf)+1, 0);    }    close(sockCli);    return 0;}

 

转载于:https://www.cnblogs.com/51CC-YL/p/7360482.html

你可能感兴趣的文章
NIO selector
查看>>
MySQL中DATETIME、DATE和TIMESTAMP类型的区别
查看>>
asp代码获取年数,季度数.星期数,天数,小时数,分钟数,秒数等时
查看>>
python之建完model之后操作admin
查看>>
Java 类加载机制 ClassLoader Class.forName 内存管理 垃圾回收GC
查看>>
shell 脚本后台运行知识
查看>>
php设置cookie,在js中如何获取
查看>>
实验三+099+吴丹丹
查看>>
[bzoj3036]绿豆蛙的归宿
查看>>
[洛谷P5057][CQOI2006]简单题
查看>>
多线程同步的几种方法
查看>>
数据结构-冒泡排序
查看>>
关于程序状态字寄存器PSW(Program Status Word)与多核多线程
查看>>
mybatis的缓存
查看>>
java 缓冲流 Buffer
查看>>
7月23号=》261页-265页
查看>>
软考知识点梳理--综合布线
查看>>
Mysql5.6主从热备配置
查看>>
VS2010DebugView捕捉
查看>>
mfix中更改time dependent VTK filename的最大时间步数的容量
查看>>