zoukankan      html  css  js  c++  java
  • socket编程实现客户端向服务器端发消息

    服务器端代码

    #include <stdio.h>
    #include <stdlib.h>
    #include <WinSock2.h>
    #include <cstring>
    #pragma comment(lib, "ws2_32.lib")  //加载 ws2_32.dll
    
    
    int main()
    {
        WSADATA wsadata;
        WSAStartup( MAKEWORD(2, 2),&wsadata);
    
        SOCKET mysocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    
        SOCKADDR_IN myaddr;
        memset(&myaddr,0,sizeof(myaddr));
        myaddr.sin_family = AF_INET;
        myaddr.sin_port = htons(1234);
        myaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
        connect(mysocket,(SOCKADDR*)&myaddr,sizeof(SOCKADDR));
        char buffer[1000];
        //cin>>buffer;
        scanf("%s",buffer);
        send(mysocket,buffer,1000,0);
    
        closesocket(mysocket);
        //终止使用 DLL
        WSACleanup();
        system("pause");
        return 0;
    }

    客户端代码

    #include <iostream>
    #include <stdio.h>
    #include <winsock2.h>
    #pragma comment (lib, "ws2_32.lib")  //加载 ws2_32.dll
    using namespace std;
    
    int main()
    {
        WSADATA wsadata;
        WSAStartup( MAKEWORD(2, 2),&wsadata);
    
        SOCKET mysocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    
        sockaddr_in myaddr;
        myaddr.sin_family = AF_INET;
        myaddr.sin_port = htons(1234);
        myaddr.sin_addr.s_addr = inet_addr("127.0.0.1");
        bind(mysocket,(SOCKADDR*)&myaddr,sizeof(SOCKADDR));
    
        listen(mysocket,5);
    
        SOCKADDR getclient;
        int nsize = sizeof(SOCKADDR);
        SOCKET clientsocket = accept(mysocket,(SOCKADDR*)&getclient,&nsize);
        char buffer[1000];
        int length = recv(clientsocket,buffer,1000,0);
        //send(clientsock,buffer,1000,0);
        printf("%s
    ",buffer);
    
        closesocket(clientsocket);
        closesocket(mysocket);
    
        WSACleanup();
        system("pause");
        return 0;
    }
  • 相关阅读:
    redis持久化之AOF和RDB
    pycharm快捷键
    500系列错误
    400系列错误
    Linux常用命令大全
    从浏览器输入一个地址,发送请求,经历了哪些过程(面试问题)
    401的错误分析
    301和302的区别
    数据库 语法收集 (主 mysql,次oracle,日常积累)
    python 发送邮件 smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') 以及授权码设置步骤
  • 原文地址:https://www.cnblogs.com/simplekinght/p/8646130.html
Copyright © 2011-2022 走看看