|
모라 님이 쓰신 글 :
: 특정 포트에서 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);
: }
:
accept 문이 상대편에서 접속하기 전에 실행이 되서 그렇습니다.
|