Chat über tcp server nachrichten versenden?
-
hallihallo,
ich arbeite gerade an einem chat in der win32-console... nur naja der server läuft und der client bekommt auch den willkommens-message vom Server... jetzt will ich aber, das der User des Clients ein text eingibt und dieser wird dann über den server zu den anderen clients zu senden...hier mal der code:
server:
main.cpp/* Dieses Programm wurde gemacht für die erstellung eines TCP-Servers, mit denen Text Nachrichten verschickt werden kann. Das Programm ist nicht für den Verkauf, Weitergabe oder für die Vermietung gemacht worden!! © Copyright bei mmorpg-platin */ #include "chat.h" using namespace std; void main(){ SetConsoleTitle(_T("TCP Server")); long answer; WSAData wsaData; WORD DLLVERSION; DLLVERSION = MAKEWORD(2,1); answer = WSAStartup(DLLVERSION, &wsaData); SOCKADDR_IN addr; int addrlen = sizeof(addr); SOCKET sListen; SOCKET sConnect; sConnect = socket(AF_INET,SOCK_STREAM,NULL); addr.sin_addr.s_addr = inet_addr("127.0.0.1"); addr.sin_family = AF_INET; addr.sin_port = htons(1234); sListen = socket(AF_INET,SOCK_STREAM,NULL); bind(sListen, (SOCKADDR*)&addr, sizeof(addr)); listen(sListen,SOMAXCONN); for(;;) { cout << "Warten auf eingehende Verbindungen! ...." << endl; if(sConnect = accept(sListen , (SOCKADDR*)&addr, &addrlen )){ cout << "Eine Verbindung wurde gefunden!" << endl; answer = send(sConnect, "YourMassege", 12 ,NULL); } } }
chat.h:
#pragma comment(lib, "Ws2_32.lib") #include <sdkddkver.h> #include <conio.h> #include <stdio.h> #include <WinSock2.h> #include <iostream> #include <Windows.h> #include <tchar.h>
und hier der chat:
main.cpp#include "messenger.h" using namespace std; void main() { string confirm; char message[200]; string strgmessage; const char* massege; long answer; WSAData wsaData; WORD DLLVersion; DLLVersion = MAKEWORD(2,1); answer = WSAStartup(DLLVersion, &wsaData); SOCKADDR_IN addr; int addrlen = sizeof(addr); SOCKET sConnect; sConnect = socket(AF_INET, SOCK_STREAM, NULL); addr.sin_addr.s_addr = inet_addr("127.0.0.1"); addr.sin_family = AF_INET; addr.sin_port = htons(1234); cout << "Wollen Sie sich auf unseren Server verbinden[y/n] :" ; cin >> confirm; if(confirm == "N") { exit(1); } else { if(confirm == "Y") { connect(sConnect, (SOCKADDR*)&addr, sizeof(addr)); answer = recv(sConnect, message, sizeof(message), NULL); strgmessage = message; cout << strgmessage << endl; getchar(); for(;;){ answer = recv(sConnect, message, sizeof(message), NULL); } for(;;) { cin.getline >> massege; send(sConnect, massege, 12 ,NULL); } } getchar(); }
hier der inhalt von messenger.h:
#pragma once #pragma comment(lib, "Ws2_32.lib") #include <sdkddkver.h> #include <Windows.h> #include <iostream> #include <tchar.h> #include <WinSock.h> #include <string> #include <stdio.h>
bitte helft mir
-
Falsches Forum, hier ist C++/CLI, eine .NET Sprache - dein Code wäre in WinAPI besser aufgehoben.
-
au mist.... das muss ch noch lernen wo ich was hinposten muss...
könnte ein Admin (leider wiedermal) den thread verschieben?