C ++ 클라이언트 서버 콘솔 응용 프로그램 오류

사용자 3790063

저는 C ++을 처음 사용 했고이 사람 코드 youtube 와 함께 일하고있었습니다 . 그는 콘솔 소켓 애플리케이션을 만들고 그의 비디오에서 작동하는 것처럼 보이는 텔넷에 연결합니다.

내가 똑같은 것을 시도하면 무한 루프가 발생하고 하단의 for 루프 후 if () 조건도 작동하지 않습니다. 바라건대 너희들이 나를 도울 수 있기를 바랍니다.

//clientserver.h
#pragma comment(lib, "ws2_32.lib")
#include <sdkddkver.h>
#include <conio.h>               //for getche()
#include <stdio.h>

#include <winSock2.h>
#include <windows.h>
#include <iostream>

clientserver.cpp

#include "clientserver.h"

using namespace std;

void main(){   


    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;


    addr.sin_addr.s_addr = inet_addr("127.0.0.1");
 addr.sin_family = AF_INET; //was missing

    addr.sin_port = htons(8989);
    sListen = socket(AF_INET,SOCK_STREAM,NULL);
    //the socket becomes the structure "addr" 
    bind(sListen, (SOCKADDR*)&addr, sizeof(addr));
    //now we have to say that the socket is listening for an incoming connection.

    listen(sListen, SOMAXCONN);
    for(;;){
        cout << "waiting for connection" << endl;

        if (sConnect = accept( sListen, (SOCKADDR*)&addr, &addrlen)){

                cout << "socket found a connection" << endl;
//cin >> ab101;
        }
    }
PuerNoctis

먼저이 작업을 수행 한 경우 ==다시 를 제거하고 sConnect = accept()등호 기호 하나만 남겨 두십시오 .

그런 다음 표시된 줄을 코드에 추가합니다.

addr.sin_addr.s_addr = inet_addr("127.0.0.1");
addr.sin_family = AF_INET; // <----- THIS ONE RIGHT HERE!
addr.sin_port = htons(8989);
sListen = socket(AF_INET,SOCK_STREAM,NULL);

이전에는 IPv4 주소 계열로 소켓을 만들었습니다.

sConnect = socket(AF_INET,  SOCK_STREAM,NULL);

.NET에서 bind()사용할 주소 패밀리를 지정하지 않았기 때문에 나중에 호출이 실패 한다고 가정 합니다 SOCKADDR_IN. 일치하지 않고 소켓을 바인딩 할 수없는 경우은 accept()실제로 아무것도 수신하지 않고 오류 코드를 반환합니다.

내 컴퓨터에서 클라이언트 및 서버 코드를 시도했지만 적어도 이것이 문제였습니다. 위의 줄을 코드에 추가하고 도움이되었는지 알려주십시오. 그리고 원래 게시물에서와 같이을로 변경하는 ==것을 잊지 마십시오 =!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++ 클라이언트 서버 콘솔 응용 프로그램 오류

분류에서Dev

C ++ 클라이언트 서버 콘솔 응용 프로그램 오류

분류에서Dev

C #의 Winsock 서버 / 클라이언트 응용 프로그램

분류에서Dev

Windows 8.1에서 C # 콘솔 응용 프로그램이 인쇄되지 않음

분류에서Dev

오류, C # 콘솔 응용 프로그램의 잘못된 정규식

분류에서Dev

C # 콘솔 응용 프로그램을 사용하여 TFS 서버에 연결

분류에서Dev

MATLAB 내에서 C # 콘솔 응용 프로그램 실행

분류에서Dev

MenuStrip에서 콘솔 응용 프로그램 시작 (Visual C #)

분류에서Dev

콘솔 응용 프로그램에서 ASP.NET WebAPI로 전달 된 데이터에서 DocumentDB에 문서를 만들 때 내부 서버 오류 (500)

분류에서Dev

클라이언트 컴퓨터에서 내 로컬 경로를 오류로 던지는 응용 프로그램

분류에서Dev

C # 클라이언트 응용 프로그램에서 Salesforce 인증을 수행하는 동안 오류가 발생했습니다.

분류에서Dev

Visual C ++ 6.0에서 콘솔 응용 프로그램 화면이 사라집니다.

분류에서Dev

C # 콘솔 응용 프로그램에서 출력 화면이 갑자기 사라 집니까?

분류에서Dev

WCF 서비스 및 클라이언트 응용 프로그램을 사용한 오류 처리

분류에서Dev

WCF 클라이언트 서버 응용 프로그램

분류에서Dev

C #-서버 PC에 설치된 클라이언트 PC에서 winform 응용 프로그램 실행

분류에서Dev

C #에서 사용 중일 때도 콘솔 응용 프로그램이 인쇄되도록 강제

분류에서Dev

socket.io 클라이언트가 ionic 응용 프로그램에서 cros 오류를 제공합니다.

분류에서Dev

asp.net Core에서 콘솔 응용 프로그램과 웹 응용 프로그램의 차이점

분류에서Dev

C ++에서 내 콘솔 응용 프로그램으로 열린 파일 읽기

분류에서Dev

C #에서 콘솔 응용 프로그램을 자동으로 일시 중지

분류에서Dev

C에서 콘솔 응용 프로그램에 바로 가기 키 추가

분류에서Dev

C # .NET 콘솔 응용 프로그램에서 키보드 입력 받기

분류에서Dev

C # 콘솔 응용 프로그램에서 작동하지 않는 SlowCheetah

분류에서Dev

콘솔 응용 프로그램 C #에서 SolidBrush에 액세스하는 방법

분류에서Dev

콘솔 응용 프로그램에서 텍스트 블록의 높이 결정

분류에서Dev

C # 콘솔 응용 프로그램 exe 파일이 시작되지 않음

분류에서Dev

서버 응용 프로그램에서 CORS를 활성화했지만 클라이언트에 "Access-Control-Allow-Origin"오류가 발생합니다.

분류에서Dev

C 콘솔 프로그램에서 파일 읽기 (또는 쓰기) 오류

Related 관련 기사

  1. 1

    C ++ 클라이언트 서버 콘솔 응용 프로그램 오류

  2. 2

    C ++ 클라이언트 서버 콘솔 응용 프로그램 오류

  3. 3

    C #의 Winsock 서버 / 클라이언트 응용 프로그램

  4. 4

    Windows 8.1에서 C # 콘솔 응용 프로그램이 인쇄되지 않음

  5. 5

    오류, C # 콘솔 응용 프로그램의 잘못된 정규식

  6. 6

    C # 콘솔 응용 프로그램을 사용하여 TFS 서버에 연결

  7. 7

    MATLAB 내에서 C # 콘솔 응용 프로그램 실행

  8. 8

    MenuStrip에서 콘솔 응용 프로그램 시작 (Visual C #)

  9. 9

    콘솔 응용 프로그램에서 ASP.NET WebAPI로 전달 된 데이터에서 DocumentDB에 문서를 만들 때 내부 서버 오류 (500)

  10. 10

    클라이언트 컴퓨터에서 내 로컬 경로를 오류로 던지는 응용 프로그램

  11. 11

    C # 클라이언트 응용 프로그램에서 Salesforce 인증을 수행하는 동안 오류가 발생했습니다.

  12. 12

    Visual C ++ 6.0에서 콘솔 응용 프로그램 화면이 사라집니다.

  13. 13

    C # 콘솔 응용 프로그램에서 출력 화면이 갑자기 사라 집니까?

  14. 14

    WCF 서비스 및 클라이언트 응용 프로그램을 사용한 오류 처리

  15. 15

    WCF 클라이언트 서버 응용 프로그램

  16. 16

    C #-서버 PC에 설치된 클라이언트 PC에서 winform 응용 프로그램 실행

  17. 17

    C #에서 사용 중일 때도 콘솔 응용 프로그램이 인쇄되도록 강제

  18. 18

    socket.io 클라이언트가 ionic 응용 프로그램에서 cros 오류를 제공합니다.

  19. 19

    asp.net Core에서 콘솔 응용 프로그램과 웹 응용 프로그램의 차이점

  20. 20

    C ++에서 내 콘솔 응용 프로그램으로 열린 파일 읽기

  21. 21

    C #에서 콘솔 응용 프로그램을 자동으로 일시 중지

  22. 22

    C에서 콘솔 응용 프로그램에 바로 가기 키 추가

  23. 23

    C # .NET 콘솔 응용 프로그램에서 키보드 입력 받기

  24. 24

    C # 콘솔 응용 프로그램에서 작동하지 않는 SlowCheetah

  25. 25

    콘솔 응용 프로그램 C #에서 SolidBrush에 액세스하는 방법

  26. 26

    콘솔 응용 프로그램에서 텍스트 블록의 높이 결정

  27. 27

    C # 콘솔 응용 프로그램 exe 파일이 시작되지 않음

  28. 28

    서버 응용 프로그램에서 CORS를 활성화했지만 클라이언트에 "Access-Control-Allow-Origin"오류가 발생합니다.

  29. 29

    C 콘솔 프로그램에서 파일 읽기 (또는 쓰기) 오류

뜨겁다태그

보관