what im trying to do is get the client (telnet) user to input a password and have the server check if that is correct and respond to the user if so or if not
heres the code
Code: Select all
#include <winsock2.h>
#include <conio.h>
#include <iostream>
using namespace std;
UINT ServerThread(LPVOID);
int main(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
cout << "Press ESCAPE to terminate program\r\n";
switch (ServerThread(0)) {
case 1:
cout << "WSAStartup failed!" << endl;
nRetCode = 2;
case 2:
cout << "INVALID_PORT thrown." << endl;
nRetCode = 2;
case 3:
cout << "Cannot Bind to Socket." << endl;
nRetCode = 2;
case 4:
cout << "Can't start Listener." << endl;
nRetCode = 2;
}
return nRetCode;
}
UINT ServerThread(LPVOID pParam)
{
cout << "Starting up TCP server\r\n";
SOCKET server;
WSADATA wsaData;
sockaddr_in local;
int wsaret=WSAStartup(0x101,&wsaData);
if(wsaret!=0)
{
return 1;
}
local.sin_family=AF_INET;
local.sin_addr.s_addr=INADDR_ANY;
local.sin_port=htons((u_short)3000);
server=socket(AF_INET,SOCK_STREAM,0);
if(server==INVALID_SOCKET)
{
return 2;
}
if(bind(server,(sockaddr*)&local,sizeof(local))!=0)
{
return 3;
}
if(listen(server,10)!=0)
{
return 4;
}
SOCKET client;
sockaddr_in from;
int fromlen=sizeof(from);
while(true)
{
char temp[512];
client=accept(server,
(struct sockaddr*)&from,&fromlen);
sprintf(temp,"welcome to my console\n");
login:
send(client,temp,strlen(temp),0);
cout << "Connection from " << inet_ntoa(from.sin_addr) <<"\r\n";
cout << "connection opened\n";
}
cout << "closing socket";
closesocket(server);
WSACleanup();
return 0;
}
i tryed scanf() but to no avail it didnt work
and getline(cin,pass); doesnt work eithor
any help would be much apreciated