আমি সি-তে সকেট প্রোগ্রামিং বাস্তবায়নের চেষ্টা করছি যখন আমি ক্লায়েন্ট থেকে কোনও সার্ভারে (উবুন্টু) সংযোগ দেওয়ার চেষ্টা করি, এটি "সংযোগ ব্যর্থ" এর মতো একটি ত্রুটি দেখায়।
সুতরাং আমি মনে করি সমস্যাটি বন্দর নিয়ে। আমি সকেট প্রোগ্রামিংয়ের জন্য 5454 / টিসিপি পোর্ট ব্যবহার করছি।
5454 বন্দর শুনতে পাচ্ছে কিনা তা আমি কীভাবে জানতে পারি? যদি তা না হয় তবে উবুন্টুতে সি ব্যবহার করে টিসিপি সকেট প্রোগ্রামিংয়ের জন্য আমি যে বন্দরগুলি ব্যবহার করতে পারি? লিনাক্স উবুন্টুতে কি কেবল বন্দরের সমস্যাটিই বা আমার কোডে কোনও ভুল আছে বা কোনও সেটিংস প্রয়োজন?
সম্পাদনা: কোড স্নিপেট:
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
(আপনার পোর্ট খোলার প্রোগ্রামটি যেমন প্রোগ্রামটি ব্যবহার করে বা মূল হিসাবে এটি একই ব্যবহারকারী হিসাবে চালানো হতে পারে)।