ポートをリッスンしているサーバーがあります
sockfd = socket(PF_INET6,SOCK_STREAM,IPPROTO_TCP);
memset(&addr,0,len = sizeof(addr));
addr.sin6_family = AF_INET6;
addr.sin6_port = htons(2000);
addr.sin6_flowinfo = 0;
addr.sin6_scope_id = 0;
addr.sin6_addr = in6addr_any;
bind(sockfd,(struct sockaddr*)&addr,len);
listen(sockfd,4);
受付待ちです
.....
socket = accept(sockfd,(struct sockaddr*)&addr,&len);
netstat -tan で "tcp 0 0 :::2000 :::* LISTEN " を見ました
そして、そのサーバーに接続しようとしているクライアントがありますが、エラー connect() が発生し、接続が拒否されました
memset(&addr,0,sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
addr.sin_port = htons(2000);
if ((sockfd = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP)) == -1)
printf("ERROR opening socket\n");
memset(buffer,0x00,sizeof(buffer));
ここでバッファを埋めます。
if (connect(sockfd,(struct sockaddr *)&addr,sizeof(addr)) < 0)
printf("connect() failure, %s-\n", strerror(errno));
telnet xx.xx.xx.xx 2000 で接続できます。このコードの何が問題なのですか?