双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

为什么connect总是失败

smdszgzh smdszgzh 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

//Sever

#include <Windows.h>
#include <iostream>
using namespace std;
int main()
{
WSADATA m_data;
sockaddr_in Sevaddr_in,Cliaddr_in;
if(WSAStartup(MAKEWORD(2,2),&m_data)!=0)
{
cout<<"Init socket library failed! "<<endl;
return -1;
}
SOCKET SeverSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
SOCKET CliSocket;
Sevaddr_in.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
Sevaddr_in.sin_family=AF_INET;
Sevaddr_in.sin_port=htons(6000);
if(SeverSocket==INVALID_SOCKET)
{
cout<<"Create socket failed!"<<endl;
}
int n=bind(SeverSocket,(sockaddr*)&Sevaddr_in,sizeof(Sevaddr_in));
if(n!=0)
cout<<"Bind failed!"<<endl;
if(listen(SeverSocket,5)!=0)
{
cout<<"Listen failed!"<<endl;
}


while(true)
{
int length=sizeof(Cliaddr_in);
CliSocket=accept(SeverSocket,(sockaddr*)&Cliaddr_in,&length);
char *Sendbuff=new char[100];
Sendbuff="";
sprintf(Sendbuff,"%s","Welcome!");
//cin.getline(Sendbuff,sizeof(Sendbuff));;
char *recvbuff=new char[100];
recvbuff="";
send(CliSocket,Sendbuff,sizeof(Sendbuff)+1,0);
recv(CliSocket,recvbuff,sizeof(recvbuff)+1,0);
cout<<recvbuff<<endl;
}
closesocket(SeverSocket);
WSACleanup();
return 0;
}


//Client
#include <Windows.h>
#include <iostream>
using namespace std;
int main()
{
WSADATA data;
if(WSAStartup(MAKEWORD(2,2),&data)!=0)
{
cout<<"Init socket library failed!"<<endl;
return -1;
}
sockaddr_in Sevaddr_in;
Sevaddr_in.sin_addr.S_un.S_addr=inet_addr("127,0,0,1");
Sevaddr_in.sin_family=AF_INET;
Sevaddr_in.sin_port=htons(6000);
SOCKET CliSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(CliSocket==INVALID_SOCKET)
{
cout<<"Create socket failde!"<<endl;
}
int x=connect(CliSocket,(sockaddr*)&Sevaddr_in,sizeof(Sevaddr_in));
if(x==SOCKET_ERROR)
{
cout<<"Connect failed!"<<endl;//这里总失败!
}
char *Sendbuff=new char[100];
Sendbuff="";
char *recvbuff=new char[100];
recvbuff="";
recv(CliSocket,recvbuff,sizeof(recvbuff)+1,0);
cout<<recvbuff<<endl;
cin.getline(Sendbuff,sizeof(Sendbuff));
send(CliSocket,Sendbuff,sizeof(Sendbuff)+1,0);
closesocket(CliSocket);
WSACleanup();
return 0;
}
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
smdszgzh
C++ 语言 65,214 成员 250,514 内容