[Armadillo:02975] Re: アルマジロ−220でソケット通信をしたい。
Yoshimitsu Yamada
email@hidden
2008年 6月 13日 (金) 13:31:47 JST
山田です。
> 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 メーリングリストの案内