从SFML插座接收数据时随机输出
Random output when receiving data from SFML socket
在运行此代码时,输入'c'时将完全随机输出,而输入's"时什么也没有发生。
任何帮助都非常感谢!
#include <iostream>
#include <string>
#include <SFML/Network.hpp>
int main()
{
sf::IpAddress ip = sf::IpAddress::getLocalAddress();
sf::TcpSocket socket;
char connectionType, buffer[2000];
std::size_t received;
std::cout << "C for client, S for server" << std::endl;
std::cin >> connectionType;
std::string packetText = "test";
if (connectionType == 'S')
{
sf::TcpListener listener;
listener.listen(2000);
listener.accept(socket);
}
else if (connectionType == 'C')
{
socket.connect(ip, 2000);
}
socket.send(packetText.c_str(), packetText.length() + 1);
socket.receive(buffer, sizeof(buffer), received);
std::cout << buffer << std::endl;
system("pause");
}
输入C
您可能需要将其作为错误处理。发生的事情是connect()
,send()
和receive()
都失败了,但您没有检查返回值。此外,您可能需要将received
归零,并检查在使用缓冲区打印之前实际收到的东西。 &ndash;&nbsp; sean cline
相关文章:
- 在将数字随机生成为数组期间从内存输出随机数的数组
- 我的求解(字符串 a、字符串 b)的输出与随机哈希中的预期输出不匹配
- 代码输出随机符号,我不确定出了什么问题
- 奇怪的数字随机出现在输出中.(C++)
- 随机生成的输出中有多少位数字 1、2、3
- 如何让变量随机输出四个单词之一
- 尝试查找数组中点之间的最小距离时的随机垃圾输出
- C++随机函数给出的相同整数是输出的两倍
- 我使用箭头运算符打印出对象的变量值,并得到一些随机值作为输出
- 在标准输出中执行打印会导致数组中随机分配值
- 升压随机输出的已知差异从 1.58 到 1.67
- 如何修复C++中的随机字符输出?
- 从SFML插座接收数据时随机输出
- 两个窗口-一个由线程随机输出修改
- 如何随机输出两个字符串中的一个
- 随机输出与C++递归合并排序
- 如何在Visual Studio中生成一个具有随机输出名称的PDB文件
- 不同实现之间的随机输出不同
- 带有char*运算符的随机输出
- Caffe GoogleNet 分类.cpp给出随机输出