Как доделать интернет-чат winsock2
Сделал интернет чат, указываю ip 127.0.0.1, всё работает. Как сделать, чтобы оно было доступно из интернета?
вот мой сервер
#include <iostream>
#include <thread>
#include <WinSock2.h>
#include <WS2tcpip.h>
#include <vector>
#pragma comment(lib,"Ws2_32.lib")
#pragma warning(disable: 4996)
int counter = 0;
using namespace std;
vector<char*> names;
std::vector<SOCKET> Connections;
void sendAll(char a[256], int ID) {
for (int i = 0; i < counter; ++i) {
if (i != ID) {
send(Connections[i], a, 256, NULL);
}
}
}
void waitMessage(int ID) {
for (;; Sleep(75)) {
char buffer[256];
memset(buffer, 0, sizeof(buffer));
recv(Connections[ID], buffer, sizeof(buffer), NULL);
std::cout << buffer;
sendAll(buffer, ID);
}
}
int main()
{
setlocale(0, "");
WSAData data;
if (0 != WSAStartup(MAKEWORD(2, 1), &data)) {
return 0;
}
SOCKADDR_IN addr;
int size = sizeof(addr);
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
addr.sin_port = htons(1111);
addr.sin_family = AF_INET;
SOCKET sListen = socket(AF_INET, SOCK_STREAM, NULL);
bind(sListen, (SOCKADDR*)&addr, sizeof(addr));
for (;; Sleep(75)) {
listen(sListen, SOMAXCONN);
SOCKET temp;
temp = accept(sListen, (SOCKADDR*)&addr, &size);
if (!temp) {
std::cout << "client ahuel";
}
else {
std::cout << "+chelik" << std::endl;
}
Connections.push_back(temp);
CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)waitMessage, (LPVOID)(counter), NULL, NULL);
++counter;
}
/*char msg[256];
recv(newConnection, msg, 256, NULL);
std::cout << msg << std::endl;*/
}