Созданные ответы форума
Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
-
АвторСообщения
-
Внизу, то что за комментировано пример c Tcp-протоколом. Но по мне, так Udp (сверху) работает лучше.
Пользуйтесь на здоровье! )
Пример консольного мессенжера. Необходимо скомпилировать два файла .cpp (два приложения) и указать IP-адреса и порты.
C++123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103#include<SFML/Network.hpp>#include<iostream>#include<string>#include<thread>using namespace std;using namespace sf;void Send() //Функция отправитель.{while (true){//Создать соккет отправителя.UdpSocket socket;char message[250]; Packet packet;cin.getline(message, 250); //Передать массив символов. Получатель увидит готовые строки.packet << message;socket.send(packet, "192.168.43.142", 2001);}}void Receive() //Функция получатель{while (true){//Создать соккет получателя и привязать его к своему порту.UdpSocket socket; socket.bind(2002);// Получить от кого-нибудь сообщение.IpAddress sender; unsigned short port; string message; Packet packet;socket.receive(packet, sender, port);packet >> message;cout << message << endl;}}//------- Протокол Udp ----------------+int main(){cout << "Yuriy" << endl; cout << "-----" << endl;thread receive(Receive); thread send(Send); //Вызвать две функции, каждую в отдельном потоке.receive.join(); send.join(); //Ждать окончания работы потоков.size_t z; std::cin >> z; return 0;}/*#include<SFML/Network.hpp>#include<iostream>#include<string>#include<thread>using namespace std;using namespace sf;void Send() //Функция отправитель.{while (true){//Создать соккет отправителя.TcpSocket socket;//Установить связь с получателем.socket.connect("192.168.43.142", 2001);char message[250]; Packet packet;cin.getline(message, 250); //Передать массив символов. Получатель увидит готовые строки.packet << message;socket.send(packet);packet.clear();}}void Receive() //Функция получатель{while (true){//Создать соккет получателя.TcpSocket socket;//Создать соккет слушателя, присвоить ему свой порт и перейти в режим ожидания.TcpListener listener; listener.listen(2002);// Установить связь с абонентом, если он отправил запрос.listener.accept(socket);// Получить сообщение от абонента.string message; Packet packet;socket.receive(packet);packet >> message;cout << message << endl;}}//------- Протокол Tcp ----------------+int main(){cout << "Vladimir Kuznetcov" << endl; cout << "--------------------" << endl;thread receive(Receive); thread send(Send);receive.join(); send.join();size_t z; std::cin >> z; return 0;}*/ -
АвторСообщения
Просмотр 2 сообщений - с 1 по 2 (из 2 всего)