在windows中利用多开codeblock实现socket通信

主要实现服务端发送,客户端接受!

遇到问题:

1、如何多开codeblock?

教程链接

2、编译不通过,编译时出现undefined reference to `WSAStartup@8'。

下载libws2_32.a问件,添加到link library

教程链接

服务端代码如下:

#include

#include
#include
#pragma comment(lib,"Ws2_32.lib")

#define PORT 8050

using namespace std;

int main()
{
    WSADATA wsadata={0};
    int iresult = WSAStartup(0x0202,&wsadata);
    SOCKET sock =socket(AF_INET,SOCK_DGRAM,0);
    sockaddr_in sa={AF_INET,htons(PORT)};
    int n =bind(sock,(sockaddr*)&sa,sizeof(sa));
    sa.sin_port=htons(9000);
    sa.sin_addr.s_addr=inet_addr("10.160.68.85");//此处替换为自己主机的ip地址
    char s[100];
    while(true)
    {
        cin >> s;
        sendto(sock,s,strlen(s),0,(sockaddr*)&sa,sizeof(sa));
    }
    return 0;

}

客户端代码:

#include
#include
#pragma comment(lib,"Ws2_32.lib")
#define PORT 9000
using namespace std;
int main()
{
    WSADATA wsadata={0};
    int iresult = WSAStartup(0x0202,&wsadata);
    SOCKET sock =socket(AF_INET,SOCK_DGRAM,0);
    sockaddr_in sa={AF_INET,htons(PORT)};
    int n =bind(sock,(sockaddr*)&sa,sizeof(sa));
    char s[2048];
    while(true)
    {
        n=recv(sock,s,sizeof(s),0);
        s[n]='\0';
        cout << s << endl;
    }
    return 0;
}

你可能感兴趣的:(在windows中利用多开codeblock实现socket通信)