C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[75027] Re:Re:TCP 서버..
kkk [] 81 읽음    2018-07-23 15:12
하나의 폼에 서버를 실행하는 버튼이랑 클라이언트 실행 버튼을 같이 넣어놔서 프로그램이 멈춰서 클라이언트를 실행시킬수가 없어요
connect 함수가 실행하지않아 대기하는 중이라 이런거라면 프로그램이 멈추지 않고 버튼을 클릭할수 있는 방법이 있을까요?

라스코니 님이 쓰신 글 :
: 클라이언트는 제대로 동작하고 있나요? 클라이언트에서 connect() 함수가 호출되고 있나요?
:
: kkk 님이 쓰신 글 :
: : 소켓통신을 배우는 중입니다
: : 하나의 pc에서 서버에서 클라이언트로 문자열을 보내는 간단한 코드를 작성하고 있는데요
: : 쉬운 문제인것 같은데 안되는 이유를 모르겠어요
: : 아래 코드가 서버 코드인데요 listen 함수까지는 정상 진행이 된것같은데 accept 함수까지 와서 다음으로 진행이 안됩니다.
: : 프로그램은 멈춰서 먹통이 되구요
: : 이유가 뭔지 모르겠어요 고수님들 도와주세요
: :
: :    char message[] = "Hello World!";
: :    int szClntAddr;
: :    char * addr = 제pc ip;
: :  
: :    if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
: :    {
: :       ShowMessage("Server WSAStartup Error");
: :       return 0;
: :    }
: :    servSock = socket(PF_INET, SOCK_STREAM, 0);
: :    if(servSock == INVALID_SOCKET)
: :    {
: :       ShowMessage("Server Socket Error");
: :       return 0;
: :    }
: :    memset(&servAddr, 0, sizeof(servAddr));
: :    servAddr.sin_family = AF_INET;
: :    servAddr.sin_addr.s_addr = inet_addr(addr);
: :    servAddr.sin_port = htons(8000);
: :                                     
: :    if(bind(servSock, (SOCKADDR*)&servAddr, sizeof(servAddr)) == SOCKET_ERROR)
: :    {
: :       ShowMessage("Server Bind Error");
: :       return 0;
: :    }
: :    if(listen(servSock, 5) == SOCKET_ERROR)
: :    {
: :       ShowMessage("Server Listen Error");
: :       return 0;
: :    }
: :    szClntAddr = sizeof(clntAddr);
: :
: :    clntSock = accept(servSock, (SOCKADDR*)&clntAddr, &szClntAddr);   // 이부분까지 와서 진행이 안되고 멈춰있습니다.
: :    if(clntSock == INVALID_SOCKET)
: :    {
: :       ShowMessage("Server Accept Error");
: :       return 0;                            
: :    }
: :    send(clntSock, message, sizeof(message), 0);
: :
: :    closesocket(servSock);
: :    closesocket(clntSock);
: :    WSACleanup();
: :   
: :    return 1;

+ -

관련 글 리스트
75025 TCP 서버.. kkk 94 2018/07/23
75026     Re:TCP 서버.. 라스코니 88 2018/07/23
75027         Re:Re:TCP 서버.. kkk 81 2018/07/23
75028             Re:Re:Re:TCP 서버.. 라스코니 96 2018/07/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.