为什么connect总是失败
//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;
}
...全文
相关推荐
xcode8提交ipa失败无法构建版本问题的解决方案
xcode升级到xcode8后发现构建不了新的版本。怎么解决呢?下面小编给大家带来了xcode8提交ipa失败无法构建版本问题的解决方案,非常不错,一起看看吧
php连接mysql之mysql_connect()与mysqli_connect()的区别
本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之,这里就为大家分享一下mysql_connect()与mysqli_connect()的区别,需要的朋友可以参考下
dzone社区年度报告-apachekafka.pdf
Dzone kafka技术2019 总结报告,包括最新的技术成果和发展趋势,有很大前瞻作用。
Application Loader苹果app上传工具
Application Loader是一个苹果app专用的上传工具,在使用xcode上传失败时可以尝试使用该工具上传到appstore
windows下设置socket的connect超时
变相的实现connect的超时,我要讲的就是这个方法,原理上是这样的: 1.建立socket 2.将该socket设置为非阻塞模式 3.调用connect() 4.使用select()检查该socket描述符是否可写(注意,是可写) 5.根据select()返回的结果判断connect()结果 6.将socket设置为阻塞模式(如果你的程序不需要用阻塞模式的,这步就省了,不过一般情况下都是用阻塞模式的,这样也容易管理)



