기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요...
소켓통신을 책을 보면서 해보는데요...잘 안되네요...
설명 부탁합니다.

컴퓨터 host ip :192.168.0.3
aesop target ip:192.168.0.21
입니다.

vmware에서 리눅스를 실행해서 nfs를 통해서 부팅 이미지를 가지고 오고 있습니다.
리눅스 ip:192.168.0.10 입니다.

client_test.c

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
//#include <uninstd.h>

#define PORT 7777
#define BUFSIZE 1024

main(int argc, char *argv[])
{
        int  sockfd;
        struct sockaddr_in servAddr; /* connector's address information */
        char sendBuffer[BUFSIZE],recvBuffer[BUFSIZE];
        int recvLen;
        
        if(argc != 2)
        {
                fprintf(stderr,"usage: %s IP_addressn", argv[0]);
                exit(1);        
        }
        
        printf("IP : %s n", argv[1]);
        

          if((sockfd = socket(AF_INET,SOCK_STREAM,0)) == -1)
          {
                    perror("socket failed");
                    exit(1);
          }

        printf("sockfd : %d n", sockfd);

          memset(&servAddr,0,sizeof(servAddr));
          
          servAddr.sin_family = AF_INET;
          servAddr.sin_addr.s_addr = inet_addr(argv[1]);
          servAddr.sin_port = htons(PORT);          

          printf(" connect ... n");  
        
    if(connect(sockfd, (struct sockaddr*)&servAddr, sizeof(servAddr)) == -1) perror("connect failed");
    
    printf(" connected ... n");  
                    
        while(1)
        {
                printf("Input sending message ==> ");
                fgets(sendBuffer,BUFSIZE,stdin);
                if(!strncmp(sendBuffer,"quit",4)) break;
                
                if(send(sockfd,sendBuffer,strlen(sendBuffer),0) != strlen(sendBuffer))
                {
                        perror("send failed");
                        exit(1);
                }
                
                if((recvLen=recv(sockfd,recvBuffer,BUFSIZE-1,0)) <=0)
                {
                        perror("recv failed");
                        exit(1);
                }
                
                recvBuffer[recvLen] = '';
                
                printf("Received: %sn",recvBuffer);
        }        
        
        close(sockfd);
        exit(0);
}

위 파일을 리눅스에서
gcc -o client_i386 client_test.c
arm-linux-gcc -o client_arm client_test.c
두개의 실행 파일을 만들었습니다..
그런데 host 컴퓨터에 server gui 프로그램을 실행하고
리눅스에서 ./client_i386 192.168.0.3를 실행하면 소켓이 연결이 됩니다..
그러나 타켓보드에서 ./client_arm 192.168.0.3를 실행하면 소켓이 연결 되지 않습니다.
왜 안되는지 이유를 알려주세요...
그럼... 즐거운... 주말 되세요...

고도리

2008.03.29 13:11:59
*.187.44.115

서버프로그램도 올려주셔야 테스트하던지 말지를 하지요...ㅠ.ㅠ

서버프로그램짤 수도 없고....
aesop-2440에서는 안해본게 없을정도로 테스트되었습니다.

당연히 socket 프로그램도 많은 테스트를 했습니다.

방화벽이나 이런것을 의심해 보는게 어떨까요?.....^^

이헌상

2008.03.30 01:03:14
*.86.251.179

테스트용 ezterm12e를 인터넷으로 받아서 실험했습니다.
방화벽이라면 host 컴퓨터의 방화벽을 말 하시는 건가요?
혹시 실험하신 소켓 프로그램 소스가 있는지요...
가능하면...첨부해 주세요...

고현철

2008.03.31 01:29:59
*.202.143.225

target=_blank>http://wiki.kldp.org/wiki.php/BeeJNetworkProgramming


여기 있는 소스를 가지고 예전 소모임 후배들이 테스트했었습니다.
큰 문제가 없었던 것으로 기억이 나고요..

NFS를 쓴다는 자체가 소켓통신을 한다는 얘기이고, 내부에 udev쪽에서도 소켓통신을 정상적으로 하고 있기 때문에 rootfs가 제대로 동작하는 것입니다.

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
5128 [질문]application 디버깅 방법 [2] 이성호 2008-03-18 851
5127 [완료] /lib_arm/armlinux.c 파일에서 theKernel()를 찾고 있습니다. [6] 이세종 2008-03-20 1058
5126 [완료] 블루투스 동글 인식 문제 [5] 홍춘식 2008-03-21 1795
5125 터치 컨트롤러 칩 관련 내용입니다. [3] 이건일 2008-03-21 2393
5124 이재명님의 AXD와 H-JTAG을 이용한 AESOP-2440 보드 펌웨어 프로... 최정수 2008-03-21 1213
5123 [질문]mba2440 에서 레지스터 설정~ [1] 손성원 2008-03-22 1273
5122 혹시 VirtualBox 아시는지요.. Vmware같은 프로그램입니다.Free~~ [2] 김우겸 2008-03-25 1213
5121 압축해제 관련 질문입니다. [1] 김우겸 2008-03-25 828
5120 [질문]56번에 질문에서요 [1] 손성원 2008-03-25 643
5119 [re] [질문]56번에 질문에서요 [2] 손성원 2008-03-25 720
5118 [질문] wince 5와 6 동시 설치 할때의 문제점에 대해서 입니다 [6] 이동익 2008-03-25 1025
5117 [re] 내용 공유 부탁드립니다. 같은 문제가 있는데 소모임 게시판... 고봉석 2008-03-27 1171
5116 [완료]LED 제어하는 방법... [2] 이경준 2008-03-27 848
5115 [질문]usb인식에 관하여 [3] 문철민 2008-03-27 1185
5114 [질문]I/O Memory를 이용한 device 접근 [1] 한기태 2008-03-28 803
5113 [질문]WinCE5.0 무선랜 빨리 붙이는 방법 장병남 2008-03-28 944
5112 LX800에 있는 VIP 포트는 어떤 용도인지요. [3] 오주열 2008-03-28 1783
5111 [완료] qt 관련 소스 컴파일 문제가 있어 질문 드립니다. [1] 백승준 2008-03-28 863
5110 SD Card 인식 [1] 이학남 2008-03-29 863
» aesop 2440 2차보드에서 소켓통신 방법 [3] 이헌상 2008-03-29 851

사용자 로그인