[Suzaku:00958] Re: ネットワークについて
Ken-ichiro Ishikawa
email@hidden
2007年 6月 15日 (金) 19:22:38 JST
慶應義塾大学、石川です。
お世話になっております。
> > SUZAKUからEtherNetでつながったLinuxPCへデータをTCP/IPで送信しようとして
> > いるのですが、SUZAKUからLinuxPCへデータが送られないことがあります。
>
> まったく送信されませんか?
> もしそうなら、もう少し詳しく教えてください。
>
> それとも少し後から送信されますか?
いくら待っても全く送信されません。
データを大きくすると送信されるときとされないときが現れるようになります。
同じプログラムで連続的に送信されるようにすると必ず送信されます。
使用しているSUZAKUのLinuxは
Linux version 2.4.27-uc0-suzaku0
です。
プログラムはこんな感じです。
TCP_NODELAYも試してみましたがうまくいきませんでした。
> memset((char *)&tcp_server_addr, 0, sizeof(tcp_server_addr));
> tcp_server_addr.sin_family = AF_INET;
> tcp_server_addr.sin_port = htons(port);
> tcp_server_addr.sin_addr.s_addr = inet_addr(server_IP);
>
> if((tcp_socket = socket(AF_INET, SOCK_STREAM,0)) < 0){
> printf("socket error");
> fflush(stdout);
> exit(-1);
> }
>
> socket_dummy = 1;
> if(setsockopt(tcp_socket, IPPROTO_TCP, TCP_NODELAY, &socket_dummy, sizeof(socket_dummy)) < 0){
> printf("TCP_NODELAY error\n");
> system("reboot");
> }
>
> connect(tcp_socket, (struct sockaddr *)&tcp_server_addr, sizeof(tcp_server_addr));
------------------------------------------------------------------------
*----- Ken-ichiro Ishikawa<email@hidden> -----*
suzaku メーリングリストの案内