[Armadillo:02977] Re: アルマジロ−220でソケット通信をしたい。
國井
email@hidden
2008年 6月 13日 (金) 14:12:46 JST
國井と申します
早速のご指摘ありがとうございます。
htonsを追加してうまくいきました。ありがとうございました
。
助かりました。
--- Yoshimitsu Yamada <email@hidden> wrote:
> 山田です。
>
> > address.sin_port = 8023;
>
> もしかすると、ポート8023へ通信したいのであれば、
> address.sin_port = htons(8023);
> でうまくいきませんか?
>
> # Armadillo-220では、デフォルトでCPUのバイトオーダ
> # はリトルエンディアンですよね?
>
> 國井 様 wrote:
> > 國井と申します。
> >
> アルマジロ-220と計測機器をソケット通信を使い接続したい
の
> > ですがうまくいきません。
> > ご存知の方アドバイス宜しくお願いします。
> >
> ソケット作成まではいいのですがコネクションがうまくいき
ま
> > せん。
> >
> > 実行結果
> >
> > socket?=3
> > connect?=-1
> >
> >
> >
> > ソース
> >
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <string.h>
> > #include <strings.h>
> > #include "simple-cgi.h"
> > #include <time.h>
> > #include <sys/time.h>
> > #include <sys/times.h>
> > #include <sys/types.h>
> > #include <sys/socket.h>
> > #include <stdlib.h>
> > #include <unistd.h>
> > #include <ctype.h>
> > #include <netinet/in.h>
> > #include <netdb.h>
> > #include <sys/fcntl.h>
> >
> > //
> >
> > void
> > main(void)
> > {
> >
> > char ans[66];
> > int sockfd, len, result;
> > struct sockaddr_in address;
> > /*クライアント用*ソケット作成*/
> > sockfd = socket(AF_INET,SOCK_STREAM,0);
> > printf("socket?=%d\n",sockfd);
> >
> > /*サーバと同じ名前でソケットの名前指定*/
> > bzero((char *)&address, sizeof(address));
> > address.sin_family = AF_INET;
> > address.sin_addr.s_addr =
> inet_addr("169.254.220.30");
> > address.sin_port = 8023;
> > len = sizeof(address);
> >
> >
> /*クライアントのソケットとサーバのソケットの接続*/
> > result = connect(sockfd, (struct sockaddr
> > *)&address,len);
> > printf("connect?=%d\n",result);
> > if(result == -1) printf("errorng \n");
> >
> > /*sockfd を介して読み書きこみできるようにする*/
> > write(sockfd,":MEAS:OUTP:ONE?\n",16);
> > read(sockfd,ans,62);
> > printf("anser==%s\n",ans);
> >
> > close(sockfd);
> > return;
> > }
> >
> >
> > [email@hidden (ttyp1) /etc/config]# iptables -L
> > Chain INPUT (policy DROP)
> > target prot opt source
> destination
> > ACCEPT all -- anywhere anywhere
> > ACCEPT icmp -- anywhere anywhere
> > ACCEPT tcp -- anywhere anywhere
>
> > tcp dpt:http
> > ACCEPT tcp -- anywhere anywhere
>
> > tcp dpt:ftp
> > ACCEPT tcp -- anywhere anywhere
>
> > tcp dpt:ssh
> > ACCEPT tcp -- anywhere anywhere
>
> > tcp dpt:ftp-data
> > REJECT tcp -- anywhere anywhere
>
> > tcp dpt:auth reject-with icmp-port-unreachable
> > DROP tcp -- anywhere anywhere
>
> > tcp dpts:x11:6010
> > ACCEPT tcp -- anywhere anywhere
>
> > tcp dpts:1024:65535
> > ACCEPT udp -- anywhere anywhere
>
> > udp dpt:ssh
> > ACCEPT udp -- anywhere anywhere
>
> > udp dpts:1024:65535
> >
> > Chain FORWARD (policy ACCEPT)
> > target prot opt source
> destination
> >
> > Chain OUTPUT (policy DROP)
> > target prot opt source
> destination
> > ACCEPT all -- anywhere anywhere
> > ACCEPT all -- anywhere anywhere
> >
> > --------------------------------------
> > GANBARE! NIPPON! Chance to win 50,000 Yahoo!
> Points!
> > http://pr.mail.yahoo.co.jp/ganbare-nippon/
> > _______________________________________________
> > armadillo mailing list
> > email@hidden
> >
>
http://lists.atmark-techno.com/mailman/listinfo/armadillo
> _______________________________________________
> armadillo mailing list
> email@hidden
>
http://lists.atmark-techno.com/mailman/listinfo/armadillo
>
--------------------------------------
GANBARE! NIPPON! Chance to win 50,000 Yahoo! Points!
http://pr.mail.yahoo.co.jp/ganbare-nippon/
armadillo メーリングリストの案内