服务器设置在编译时保持打印"connected"即使没有连接客户端
the server is set up keeps printing "connected" when compiled even though there are no clients connected
#include <iostream>
#include <WinSock2.h>
#include <Windows.h>
using namespace std;
SOCKET listener,connector;
SOCKADDR_IN myAddress,remoteAddress;
int main()
{
初始化网络的窗口
WSAData wdata;
WSAStartup(MAKEWORD(2,2),&wdata);
初始化侦听器
ZeroMemory(&listener,sizeof(listener));
ZeroMemory(&connector,sizeof(connector));
listener = socket(AF_INET,SOCK_STREAM,0);
在myAddress 中为结构体SOCKADDR_IN赋值
myAddress.sin_addr.s_addr = INADDR_ANY; //accept any ip
myAddress.sin_family = AF_INET;//tcp
myAddress.sin_port = htons(7000);//changing 7000 port to string with htons method
绑定侦听器套接字和地址以指示侦听器查找的位置
if(bind(listener,(LPSOCKADDR)&myAddress,sizeof(listener)))
{
cout<< "bound";
}
//listen method
if(listen(listener,1));
{
cout<<"Waiting";
}
int Size = sizeof(remoteAddress);
初始化无限循环以保持侦听
while(true)
{
connector = accept(listener,(LPSOCKADDR)&remoteAddress,&Size);
//read connection request
if(sizeof(connector)< 0)
{
cout <<"noinfon";
}
}
}
即使没有连接客户端,代码也不会显示"无信息":O i duno wat i did wrong:(请帮助我
当然可以。你的代码中有很多错误:
1( connector
的大小不能小于0,因此if(sizeof(connector)< 0)
检查始终为false。请改用if(connector == INVALID_SOCKET)
。
2( 删除if
语句末尾的;
,否则您的检查将变得毫无意义:
if(bind(listener,(LPSOCKADDR)&myAddress,sizeof(listener))) {...}
if(listen(listener,1)) {...}
附言:发布剩下的代码,我相信还有很多其他错误等待发现。
您的代码是正确的,但您必须用零填充结构myAddress,而不是Socket
ZeroMemory(&myAddress,sizeof(myAddress));
条件语句后的分号不使用
相关文章:
- "unknown ca"自生成的 CA、证书和客户端/服务器
- 如何将函数集合传递给客户端类,以便将它们当作客户端类本身的成员使用
- 使用调试/崩溃报告将应用程序部署到客户端
- 如何在本地机器上运行c++和javascript客户端代码(hackerbank风格)
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 从服务器传输到客户端的消息不会出现
- OpenSSL TLS服务器-使用客户端证书白名单
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- 提升 Asio TCP 服务器 处理多个客户端
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 如何绑定 C++ gRPC 客户端的网络接口
- C++套接字客户端到 Python 服务器未创建连接
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 将相机数据从服务器实时流式传输到客户端
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- GRPC C++ TLS 客户端 grpc::SslCredentials() 方法不返回
- 计算出有多少客户端可以连接到我正在使用的一些tcp服务器代码
- 如何暂停插孔音频客户端
- 服务器设置在编译时保持打印"connected"即使没有连接客户端