c++ socket客户端/服务器端不响应客户端
C++ socket client/server server do not response to client
我是套接字编程的初学者,我的客户端/服务器程序有问题,客户端无法连接到服务器。我不知道为什么,请帮帮我。我想找出问题在哪里。
服务器:#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <stdlib.h>
#include <winsock2.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
int main(int argc, char* argv[])
{
WSAData WinSockData;
WORD Version = MAKEWORD(2,1);
long SUCESSFUL;
SUCESSFUL = WSAStartup(Version,&WinSockData);
SOCKADDR_IN ADDRESS;
int AdresSize = sizeof(ADDRESS);
SOCKET sock_LISTEN;
SOCKET sock_CONNECT;
sock_CONNECT = socket(AF_INET,SOCK_STREAM,NULL);
ADDRESS.sin_addr.s_addr = inet_addr("127.0.0.1");
ADDRESS.sin_family = AF_INET;
ADDRESS.sin_port = htons(27015);
sock_LISTEN = socket(AF_INET,SOCK_STREAM,NULL);
bind(sock_LISTEN,(SOCKADDR*)&ADDRESS,sizeof(ADDRESS));
for(;;)
{
listen(sock_LISTEN,SOMAXCONN);
cout << "Waiting for connections..." << endl;
if(sock_CONNECT = accept(sock_LISTEN,(SOCKADDR*)&ADDRESS,&AdresSize))
{
cout << "Conection was found" << endl;
SUCESSFUL = send(sock_CONNECT,"Hello",5,NULL);
}
}
return 0;
}
客户:#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <stdlib.h>
#include <winsock2.h>
#include <conio.h>
#include <stdio.h>
using namespace std;
int main(int argc, char* argv[])
{
WSAData WinSockData;
WORD DLLVersion;
DLLVersion = MAKEWORD(2,1);
long SUCESSFUL;
SUCESSFUL = WSAStartup(DLLVersion,&WinSockData);
string RESPONSE;
string CONVERTER;
char MESSAGE[200];
SOCKADDR_IN ADDRESS;
SOCKET sock;
sock = socket(AF_INET,SOCK_STREAM,NULL);
ADDRESS.sin_addr.s_addr = inet_addr("127.0.0.1");
ADDRESS.sin_family = AF_INET;
ADDRESS.sin_port = htonl(27015);
cout << "Do You want to connect to this server (Y/N)" << endl;
cin >> RESPONSE;
RESPONSE[0] = tolower(RESPONSE[0]);
if(RESPONSE == "n")
{
cout << "Quiting" <<endl;
}else if (RESPONSE == "y")
{
connect(sock,(SOCKADDR*)&ADDRESS,sizeof(ADDRESS));
SUCESSFUL = recv(sock,MESSAGE,sizeof(MESSAGE),NULL);
CONVERTER = MESSAGE;
cout << CONVERTER << endl;
}else
{
cout << "Illegal response" <<endl;
}
return 0;
}
这看起来很奇怪
ADDRESS.sin_port = htons(27015);
这个看起来更奇怪
ADDRESS.sin_port = htonl(27015);
都使用按钮
如果不行,就写
ADDRESS.sin_port = 27015;
相关文章:
- 从服务器传输到客户端的消息不会出现
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 节点.js到 c++ 客户端:不接收来自 socket.emit 的消息
- 如何在C++中创建OpenVPN客户端?(不是 TUN/Tap 管理器,而是真正的客户端)
- Dtls 客户端不会使用 cookie 发送 ClientHello(英语:ClientHello)
- UDP 客户端不会在 esp32 上广播消息
- 如果您不编写 Web 应用程序,并且您的客户端不是浏览器,那么 Web 套接字相对于常规套接字的优势是什么?
- 使基类函数对客户端不可见
- 我必须编写一个FTP客户端.不知道从哪里开始.C++
- ZeroMQ C#客户端不接收来自C++服务器的消息
- 如何使用 NModbus4 框架向 Modbus 客户端发送响应
- 服务器不使用 select(), cpp 响应新客户端
- 提升 Daytime7 服务器示例不响应 NetCat 客户端
- 如果通过代理连接,客户端不会断开连接
- 命名管道c#服务器c++ .dll客户端不工作
- 如何在一个套接字上实现并行请求和响应的非阻塞客户端-服务器通信模型,而不存在数据竞争
- 为什么我的c++ Boost ASIO HTTP客户端返回不完整的响应
- BOOST-ASIO阻塞服务器不响应阻塞客户端
- HTTP 客户端请求响应与 pion-net c++
- c++ socket客户端/服务器端不响应客户端