Question is below code.
MY CODE FOR RECIVING CONNECTING PROGRAM:
CODE FOR LISTENING PROGRAM:Code:#include <windows.h> //Required for socket init #include <iostream> int main(){ char buf[256]; WSAData wsdata; //Declare WSAData WORD wsver=MAKEWORD(2, 0); //We want Winsock 2.0 int nret=WSAStartup(wsver, &wsdata); //Pass version 2.0 and pointer to implement if(nret != 0){ //Init failed std::cout<<"Startup failed, error code: "<<WSAGetLastError(); //Returns error code WSACleanup(); //Cleanup Winsock library return -1; } std::cout<<"Init success\n"; SOCKET kSock=socket(AF_INET, SOCK_STREAM, 0); if(kSock == INVALID_SOCKET){ std::cout<<"Socket init failed"; return -1; } std::cout<<"Socket initialized\n"; sockaddr_in sin; std::cout<<"Enter a port number: "; int porta; std::cin >> porta; sin.sin_port=htons(porta); //Connect to port 80 std::cout<<"Enter a ip number: "; std::string ipad; ipad = ""; std::cin >> ipad; char ipaad[256]; strcpy(ipaad, ipad.c_str()); sin.sin_addr.s_addr=inet_addr(ipaad); //Connect to localhost sin.sin_family=AF_INET; if(connect(kSock,(sockaddr*)&sin, sizeof(sin)) == SOCKET_ERROR){ //Check the condition std::cout<<"Connect failed, error: "<<WSAGetLastError(); //Returns error code WSACleanup(); //Cleanup the library std::string lisquit; std::cin>>lisquit; } std::cout<<"Connection successful!\n"; recv(kSock, buf, sizeof(buf), 0); //Receive "Hello" from server std::cout << buf; closesocket(kSock); std::string lisquit; std::cin>>lisquit; }
Works fine with ip 127.0.0.1 and port 808 but what ip and port do I enter for other pc's. It usually dosn't recive if I enter another ip even if I have a sender open on that pc. I have no firewall problems.Code:#include <windows.h> //Required for socket init #include <iostream> int main(){ char buf[256]; std::cout<<"Enter a message to send: \n"; std::cin >> buf; WSAData wsdata; //Declare WSAData WORD wsver=MAKEWORD(2, 0); //We want Winsock 2.0 int nret=WSAStartup(wsver, &wsdata); //Pass version 2.0 and pointer to implement if(nret != 0){ //Init failed /*A successful return value should be 0 std::cout<<"Startup failed, error code: "<<WSAGetLastError(); //Returns error code WSACleanup(); //Cleanup Winsock library return -1; } std::cout<<"Init success\n"; SOCKET kSock=socket(AF_INET, SOCK_STREAM, 0); if(kSock == INVALID_SOCKET){ std::cout<<"Socket init failed"; return -1; } std::cout<<"Socket initialized\n"; sockaddr_in sin; std::cout<<"Enter a port number: "; int porta; std::cin >> porta; sin.sin_port=htons(porta); sin.sin_addr.s_addr=INADDR_ANY; sin.sin_family=AF_INET; if(bind(kSock,(sockaddr*)&sin, sizeof(sin)) == SOCKET_ERROR){ std::cout<<"Failed to bind\n"; WSACleanup(); //Cleanup Winsock library return -1; } std::cout<<"Bind successful!\n"; while (listen(kSock, SOMAXCONN) == SOCKET_ERROR); //Loop in order to constantly listen /* set the number of connections to SOMAXCONN, in which case the provider chooses a reasonable value (5 in Windows XP Professional) SOCKET client; int len = sizeof(sin); client=accept(kSock, (sockaddr*)&sin, &len); std::cout<<"Connection established!\n"; send(client, buf, sizeof(buf), 0); //Send "Hello" closesocket(client); //Close both socket handles closesocket(kSock); WSACleanup(); std::string lisquit; std::cin>>lisquit; }



LinkBack URL
About LinkBacks


