Linux套接字(TCP篇)

来源:互联网 发布:淘宝直通车点击软件 编辑:程序博客网 时间:2024/05/16 17:42

服务器端:

#include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <unistd.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>typedef struct sockaddr SOCKADDRMY;int main(){        int sockID;        struct sockaddr_in srvAddr;        sockID = socket(AF_INET, SOCK_STREAM, 0);        srvAddr.sin_family = AF_INET;        srvAddr.sin_port = htons(8888);        srvAddr.sin_addr.s_addr = inet_addr("192.168.28.69");        bind(sockID, (SOCKADDRMY*)&srvAddr, sizeof(srvAddr));        listen(sockID, 5);        while(1)        {                int clisock;                int nLen = sizeof(SOCKADDRMY);                SOCKADDRMY cliAddr;                char buf[128] = {0};                char sendBuf[] = "this is server\n";                clisock = accept(sockID, &cliAddr, &nLen);                recv(clisock, buf, 128, 0);                printf("%s\n", buf);                send(clisock, sendBuf, strlen(sendBuf)+1, 0);                close(clisock);        }        close(sockID);}


客户端:

#include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <unistd.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>typedef struct sockaddr SOCKADDRMY;int main(){        int sockCli;        struct sockaddr_in srvAddr;        char sendBuf[] = "this is client!\n";        char recvBuf[128] = {0};        int nRes = 0;        sockCli = socket(AF_INET, SOCK_STREAM, 0);        srvAddr.sin_family = AF_INET;        srvAddr.sin_port = htons(8888);        srvAddr.sin_addr.s_addr = inet_addr("192.168.28.69");        nRes = connect(sockCli, (SOCKADDRMY*)&srvAddr, sizeof(srvAddr));        if(nRes != 0)        {                perror("connect error");        }        send(sockCli, sendBuf, strlen(sendBuf) + 1, 0);        recv(sockCli, recvBuf, 128, 0);        printf("%s\n", recvBuf);        close(sockCli);        return 0;}








0 0
原创粉丝点击