C에서 소켓 프로그래밍을 구현하려고합니다. 클라이언트에서 서버 (Ubuntu)로 연결하려고하면 "연결 실패"와 같은 오류가 표시됩니다.
포트에 문제가 있다고 생각합니다. 소켓 프로그래밍에 5454 / tcp 포트를 사용하고 있습니다.
5454 포트가 수신 중인지 어떻게 알 수 있습니까? 그렇지 않다면 우분투에서 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);
편집 : 문제가 포트에 있으므로 방금 우분투를 다시 설치했는데 작동합니다. 모두 감사합니다.
lsof -i:5454
(포트를 여는 프로그램과 동일한 사용자 또는 루트로 실행해야 할 수도 있음).