|
소스는 아래와 같습니다.
서버는 포트 20000에서 listen 중이구요...
클라이언트는 자신의 포트를 6010으로 설정(bind)하고 서버에 연결(connect)을 하는 프로그램입니다.
근데, 연결을 시도하면 계속 10038 (소켓 아님..) 에러가 나네요...
VC++에서 사용하던 코드를 조금 수정했습니다.
빌더로는 소켓을 처음 쓰는데.. 잘안되네요...
------------------
sockaddr_in Addr = {0};
Addr.sin_family = PF_INET;
Addr.sin_addr.s_addr = INADDR_ANY;
Addr.sin_port = htons(6010);
bind(ClientSocket1->Socket->SocketHandle,(sockaddr*)&Addr,sizeof(Addr));
struct sockaddr_in To={0};
To.sin_family=PF_INET;
To.sin_port=htons(20000);
unsigned long nAddr=inet_addr("127.0.0.1");
To.sin_addr.S_un.S_addr=(int)nAddr;
if(connect(ClientSocket1->Socket->SocketHandle,(struct sockaddr*)&To,sizeof(struct sockaddr)))
{
char szTmp[200];
sprintf(szTmp,"Failed to connect the object!,error no:%d",::WSAGetLastError());
::MessageBox(0,szTmp,"Error",MB_OK+MB_ICONERROR);
closesocket(ClientSocket1->Socket->SocketHandle);
::WSACleanup();
}
|