Cでソケットプログラミングを実装しようとしています。クライアントからサーバー(Ubuntu)に接続しようとすると、「接続に失敗しました」などのエラーが表示されます。
したがって、問題は移植にあると思います。ソケットプログラミングに5454 / tcpポートを使用しています。
5454ポートがリッスンしているかどうかはどうすればわかりますか?そうでない場合、UbuntuでCを使用してTCPソケットプログラミングに使用できるポートはどれですか?それはポートのみの問題ですか、それとも私のコードに何か問題があるのですか、またはLINUX Ubuntuで設定が必要ですか?
編集: コードのスニペット:
int socket_send;
struct sockaddr_in address;
printf("\n Initialization Socket....");
socket_send = socket(AF_INET,SOCK_STREAM,0);
if(socket_send == -1)
{
perror("\n Socket not created.Error:");
return 1;
}
printf("\n Socket created");
address.sin_family=AF_INET;
address.sin_addr.s_addr=inet_addr(ip);
address.sin_port=htons(5454);
if(connect(socket_send,(struct sockaddr*)&address,sizeof(struct sockaddr))<0)
{
perror("\nConnetion failed.Error:");
return 1;
}
printf("\n Connected");
if(send(socket_send,(char*)buffer,size,flag)<0)
{
perror("\nSending failed.Error:");
return 1;
}
printf("\n Data successfully sent");
close(socket_send);
編集:問題はポートにあるので、私はちょうどUbuntuを再インストールしました、そしてそれは働いています。皆様ありがとうございました。
lsof -i:5454
ます(ポートを開くプログラムが実行するのと同じユーザー、またはrootとして実行する必要があるかもしれません)。