Я пытаюсь реализовать программирование сокетов на C. Когда я пытаюсь подключиться от клиента к серверу (Ubuntu), появляется сообщение об ошибке типа «ошибка подключения».
Поэтому я думаю, что проблема с портом. Я использую порт 5454 / TCP для программирования сокетов.
Как я могу узнать, прослушивает порт 5454 или нет? Если это не так, то какие порты я могу использовать для программирования сокетов TCP с помощью C в Ubuntu? Это проблема только с портом или в моем коде что-то не так или в 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).