|
특정 포트에서 ftp의 전송 자료를 받기 위해서
다음과 같이 짰습니다.
accept에서 좀 멈추다 아무 자료도 안 받더군요.
제가 무엇이 틀렸을까요? ..
c++쪽에 가서 물어야 하나~
--------------------------------------------------------------------------------
ascii
quote port xxx.xxx.xxx.xxx.xx.xx (제쪽 아이피 4643포트.)
quote list -aR
my server source ------------------------------------------------------------
SOCKET s;
SOCKADDR_IN addr;
SOCKADDR_IN clientAddr;
char buf2[1024];
int i,len,len2;
int nClientAddrLen;
s=socket(AF_INET, SOCK_STREAM, 0);
if ( s != INVALID_SOCKET ){
addr.sin_family = AF_INET;
addr.sin_port = htons(4643);
addr.sin_addr.s_addr = inet_addr("xxx.104.xx.23");
if( bind(s, (LPSOCKADDR)&addr, sizeof(addr)) != SOCKET_ERROR ){
FILE *fp;
fp = fopen("test.pck", "wb");
if(listen(s,10)!=SOCKET_ERROR){
nClientAddrLen=sizeof(clientAddr);
if(accept(s,(LPSOCKADDR)&clientAddr,&nClientAddrLen)!=
SOCKET_ERROR){
len2=sizeof(addr);
while (1) {
len = recvfrom(s, buf2,
1024,0,(LPSOCKADDR)&addr,&len2);
if (len <= 0) break;
fwrite(buf2, len, 1, fp);
}
fclose(fp);
}
|