Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Solve Error

Solve Error

Scheduled Pinned Locked Moved C / C++ / MFC
sysadminhelpquestion
5 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • U Offline
    U Offline
    User 2159113
    wrote on last edited by
    #1

    I edit a program that write by my supervisor and it was a server source code. After I edit, I found out three error. Can anybody solve it? #include "stdafx.h" #define DEFAULT_TCPPORT 1000; typedef struct { SOCKET Skt; SOCKADDR_IN AddrFrom; int nAddrFromLen; LPVOID ParamPointer; }SOCKETDATA; SOCKET ServerSkt; SOCKET eServerSkt; CString ServerStatus="Waiting for Request(s)...."; CString PortStatus="Starting TCP/IP Services."; long SocketClosedDelay=DEFAULT_DELAY; UINT ListenThread(LPVOID lParam) { HANDLE hThread; SOCKADDR_IN SktAddr; char szMessage[300]; ServerSkt = socket ( AF_INET, SOCK_STREAM, 0 ); if ( ServerSkt == INVALID_SOCKET ) { printf("Error INVALID_SOCKET 1\n"); } else { SktAddr.sin_family=AF_INET; SktAddr.sin_port=htons(6000); SktAddr.sin_addr.s_addr=htonl("127.0.0.1"); if ( bind ( ServerSkt, ( LPSOCKADDR ) &SktAddr, sizeof ( SktAddr ) ) == SOCKET_ERROR ) { printf("Error INVALID_SOCKET 2\n"); } else { if ( listen ( ServerSkt, SOMAXCONN ) == SOCKET_ERROR ) { printf("Error INVALID_SOCKET 3\n"); } else { return 0; } } } return 0; } UINT AcceptThread ( LPVOID lParam ) { SOCKADDR_IN AddrFrom; int nAddrFromLen = sizeof ( AddrFrom ); SOCKETDATA* psktData; HANDLE hThread; char szMessage[300]; while (hHeap!=NULL) { psktData -> Skt = accept ( ServerSkt, ( LPSOCKADDR ) &AddrFrom, &nAddrFromLen ); if ( psktData -> Skt == INVALID_SOCKET ) { printf("Error INVALID_SOCKET 4\n"); HeapFree ( hHeap, 0, psktData ); break; } psktData -> AddrFrom = AddrFrom; psktData -> nAddrFromLen = nAddrFromLen; psktData -> ParamPointer = lParam; } return 0; } UINT ClientThread ( LPVOID lParam ) { SOCKETDATA* psktClient = ( SOCKETDATA* ) lParam; SOCKET MySkt = psktClient -> Skt; LPVOID ParamPointer = psktClient ->ParamPointer; SOCKADDR_IN MyAddrFrom = psktClient -> AddrFrom; int nMyAddrFromLen = psktClient -> nAddrFromLen; IN_ADDR InFrom; long nBytesRecv; long nBytesSent; char ReceivedData [400]; char ReceivedDataP[400]; char szMessage[300]; char RequestStr [400]; char RespondStr [400]; char RespondStrA[400]; long Count1; long Count2; long i=0, j=0; BOOL DataRequest=FALSE; BOOL S; HeapFree ( hHeap, 0, psktClient ); nBytesRecv = recv ( MySkt, ReceivedData, sizeof(ReceivedData), 0 ); if (nBytesRecv==SOCKET_ERROR)

    C 1 Reply Last reply
    0
    • U User 2159113

      I edit a program that write by my supervisor and it was a server source code. After I edit, I found out three error. Can anybody solve it? #include "stdafx.h" #define DEFAULT_TCPPORT 1000; typedef struct { SOCKET Skt; SOCKADDR_IN AddrFrom; int nAddrFromLen; LPVOID ParamPointer; }SOCKETDATA; SOCKET ServerSkt; SOCKET eServerSkt; CString ServerStatus="Waiting for Request(s)...."; CString PortStatus="Starting TCP/IP Services."; long SocketClosedDelay=DEFAULT_DELAY; UINT ListenThread(LPVOID lParam) { HANDLE hThread; SOCKADDR_IN SktAddr; char szMessage[300]; ServerSkt = socket ( AF_INET, SOCK_STREAM, 0 ); if ( ServerSkt == INVALID_SOCKET ) { printf("Error INVALID_SOCKET 1\n"); } else { SktAddr.sin_family=AF_INET; SktAddr.sin_port=htons(6000); SktAddr.sin_addr.s_addr=htonl("127.0.0.1"); if ( bind ( ServerSkt, ( LPSOCKADDR ) &SktAddr, sizeof ( SktAddr ) ) == SOCKET_ERROR ) { printf("Error INVALID_SOCKET 2\n"); } else { if ( listen ( ServerSkt, SOMAXCONN ) == SOCKET_ERROR ) { printf("Error INVALID_SOCKET 3\n"); } else { return 0; } } } return 0; } UINT AcceptThread ( LPVOID lParam ) { SOCKADDR_IN AddrFrom; int nAddrFromLen = sizeof ( AddrFrom ); SOCKETDATA* psktData; HANDLE hThread; char szMessage[300]; while (hHeap!=NULL) { psktData -> Skt = accept ( ServerSkt, ( LPSOCKADDR ) &AddrFrom, &nAddrFromLen ); if ( psktData -> Skt == INVALID_SOCKET ) { printf("Error INVALID_SOCKET 4\n"); HeapFree ( hHeap, 0, psktData ); break; } psktData -> AddrFrom = AddrFrom; psktData -> nAddrFromLen = nAddrFromLen; psktData -> ParamPointer = lParam; } return 0; } UINT ClientThread ( LPVOID lParam ) { SOCKETDATA* psktClient = ( SOCKETDATA* ) lParam; SOCKET MySkt = psktClient -> Skt; LPVOID ParamPointer = psktClient ->ParamPointer; SOCKADDR_IN MyAddrFrom = psktClient -> AddrFrom; int nMyAddrFromLen = psktClient -> nAddrFromLen; IN_ADDR InFrom; long nBytesRecv; long nBytesSent; char ReceivedData [400]; char ReceivedDataP[400]; char szMessage[300]; char RequestStr [400]; char RespondStr [400]; char RespondStrA[400]; long Count1; long Count2; long i=0, j=0; BOOL DataRequest=FALSE; BOOL S; HeapFree ( hHeap, 0, psktClient ); nBytesRecv = recv ( MySkt, ReceivedData, sizeof(ReceivedData), 0 ); if (nBytesRecv==SOCKET_ERROR)

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #2

      It looks like CString is not defined. If you're not using MFC, why not use std::string ? Christian Graus - Microsoft MVP - C++

      U 1 Reply Last reply
      0
      • C Christian Graus

        It looks like CString is not defined. If you're not using MFC, why not use std::string ? Christian Graus - Microsoft MVP - C++

        U Offline
        U Offline
        User 2159113
        wrote on last edited by
        #3

        when I use std::string but got error below: error C2653: 'std' : is not a class or namespace name

        C 1 Reply Last reply
        0
        • U User 2159113

          when I use std::string but got error below: error C2653: 'std' : is not a class or namespace name

          C Offline
          C Offline
          Christian Graus
          wrote on last edited by
          #4

          You also need to include headers for string, it's just easier to get there if your app is not using MFC. #include using std::string; Christian Graus - Microsoft MVP - C++

          U 1 Reply Last reply
          0
          • C Christian Graus

            You also need to include headers for string, it's just easier to get there if your app is not using MFC. #include using std::string; Christian Graus - Microsoft MVP - C++

            U Offline
            U Offline
            User 2159113
            wrote on last edited by
            #5

            It accur more error. I think nevermind. The program that I edit have AfxBeginThread but I don't want it. But I cant confirm whether it correct or not. Below is the ListenThread and I just disable the AfxBeginThread. UINT ListenThread(LPVOID lParam) { HANDLE hThread; SOCKADDR_IN SktAddr; char szMessage[300]; ServerSkt = socket ( AF_INET, SOCK_STREAM, 0 ); if ( ServerSkt == INVALID_SOCKET ) { printf("Error INVALID_SOCKET 1\n"); } else { SktAddr.sin_family=AF_INET; SktAddr.sin_port=htons(6000); //SktAddr.sin_addr.s_addr=htonl(INADDR_ANY); SktAddr.sin_addr.s_addr=htonl("127.0.0.1"); if ( bind ( ServerSkt, ( LPSOCKADDR ) &SktAddr, sizeof ( SktAddr ) ) == SOCKET_ERROR ) { printf("Error INVALID_SOCKET 2\n"); } else { if ( listen ( ServerSkt, SOMAXCONN ) == SOCKET_ERROR ) { printf("Error INVALID_SOCKET 3\n"); } else { /*hThread=AfxBeginThread (AcceptThread,lParam,THREAD_PRIORITY_NORMAL); if ( hThread == NULL ) { wsprintf(szMessage, "(ListenThread) - AfxBeginThread() Error. Unable to Create AcceptThread() Thread."); WriteSysLog(szMessage); } else { wsprintf(szMessage, "(ListenThread) - AcceptThread() Thread Spinoff Completed Successfully."); WriteSysLog(szMessage); return 0; }*/ } } return 0; } } } return 0; } The AfxBeginThread have a AcceptThread, how do I simplify it if I don't want the AfxBeginThread? Below is the AcceptThread code: UINT AcceptThread ( LPVOID lParam ) { SOCKADDR_IN AddrFrom; int nAddrFromLen = sizeof ( AddrFrom ); SOCKETDATA* psktData; HANDLE hThread; char szMessage[300]; while (hHeap!=NULL) { psktData -> Skt = accept ( ServerSkt, ( LPSOCKADDR ) &AddrFrom, &nAddrFromLen ); if ( psktData -> Skt == INVALID_SOCKET ) psktData -> AddrFrom = AddrFrom; psktData -> nAddrFromLen = nAddrFromLen; psktData -> ParamPointer = lParam; hThread = AfxBeginThread ( ( AFX_THREADPROC ) ClientThread, ( LPVOID ) psktData, THREAD_PRIORITY_NORMAL, 0, 0, NULL ); if ( hThread == NULL ) { wsprintf(szMessage, "(AcceptThread) - AfxBeginThread() Error. Unable to Create ClientThread() Thread."); WriteSysLog(szMessage); HeapFree ( hHeap, 0, psktData ); closesocket ( psktData -> Skt ); break; } } return 0; }

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • World
            • Users
            • Groups