Jump to content

ციკლი C++


Recommended Posts

გამარჯობათ

 

ესაა ნაწყვეტი პროგრამიდან

 

string str;
char buffer[1000];
getline(cin,str);
memset(buffer,0,999);
recv(Socket,buffer,1000,0);
cout<<buffer;
cout<<" n";
const char *ch=str.c_str();
send(Socket,ch,1000,0);

 

მინდა რომ ამ პროგრამამ იტრიალოს შეუჩერებლად და რა შეიძლება რო გამოვიყენო შეგიძლიათ მირჩიოთ რამე? ან რამე მაგალითი დაწეროთ.

 

ეს პროგრამა ამ სახლით შუაში იჭედება, მაგალითად send-ით რომ იგზავნება შეტყობინება მანამ არ იგზავნება სანამ recv რამე შეტყობინებას არ მიიგებს და მინდა რომ recv არ დაელოდოს და send გააკეთოს იტრიალოს და რა შეიძლება რომ გამოვიყენო შეგიძლიათ მირჩიოთ რამე?

 

Link to comment
Share on other sites

ეს არ წავა?

while(true){
კოდი
}

ან რამე bool ცვლადი აღწერე. მნიშვნელობა true მიანიჭე და ის ჩასვი ვაილში. როცა აღარ გენდომება false მიანიჭე და გამოვა ციკლიდან.

  • Upvote 1
Link to comment
Share on other sites

+1

Link to comment
Share on other sites

ეს არ წავა?

while(true){
კოდი
}

ან რამე bool ცვლადი აღწერე. მნიშვნელობა true მიანიჭე და ის ჩასვი ვაილში. როცა აღარ გენდომება false მიანიჭე და გამოვა ციკლიდან.

 

while ით ეგრე არ შვება მე for( ; ; ) ვიყენებდი ეგრეც ვცადე მაგრამ ეს ორივე მგონი რო ერთიდაიგივეა. bool ს ვცდი მაგრამ არც მაგამ მგონ ია იმუშაოს.

Link to comment
Share on other sites

while ით ეგრე არ შვება მე for( ; ; ) ვიყენებდი ეგრეც ვცადე მაგრამ ეს ორივე მგონი რო ერთიდაიგივეა. bool ს ვცდი მაგრამ არც მაგამ მგონ ია იმუშაოს.

რატო არ შვება, ჩაციკვლა არ გინდა?

Link to comment
Share on other sites

რატო არ შვება, ჩაციკვლა არ გინდა?

კი ეგრე მინდა მაგრამ მეც ვერ მივხვდი რატომ არ შვება. სანამე რამეს send ით არ გაგზავნი recv არ ბეჭდავს. რეფრეშიშ მსგავსი მინდა რამე რო თავად დაარეფრეშოს ეგეთი რამე შეიძლება თუ იცი? ჩათის პროგრამაა ეს და შეიძლება მაგიტომ არ მუშაობს არ ვიცი

Link to comment
Share on other sites

მეორე მხარის კოდიც დაპოსტე. ეს ან სერვერია ან კლიენტი. სოკეტიდან რომ იგზავნება შეტყობინება (send) მიდის უპრობლემოდ, უბრალოდ მერე ელოდება რომ რამე მიიღოს (recv) და შესაბამისად სანამ მეორე მხარიდან რამე შეტყობინება არ გამოვა სხვა ვერაფერს ვერ გააკეთებს და შესაბამისად ახლიდან არაფერი არ გაიგზავნება

 

იმედია გარკვევით ავხსენი

  • Upvote 2
Link to comment
Share on other sites

ეს კლიენტია და სერვერის კოდის ზუსტად ესეთივეა. გასაგებია მადლობა

Link to comment
Share on other sites

ზუსტად იგივე რომ იყოს გაჩერდება და არაფერს არ იზამს

 

ეს იყო კლიენტი. ანუ ჯერ გააგზავნე და მერე დაელოდე

string str;
getline(cin,str);
const char *ch=str.c_str();
send(Socket,ch,1000,0);
 
char buffer[1000];
memset(buffer,0,999);
recv(Socket,buffer,1000,0);
cout<<buffer;
cout<<" n";

და ეს კიდე სერვერი და იმშავებს უპრობლემოდ

ანუ ჯერ მიიღე და მერე გააგზავნე

string str;
char buffer[1000];
getline(cin,str);
memset(buffer,0,999);
recv(Socket,buffer,1000,0);
cout<<buffer;
cout<<" n";
const char *ch=str.c_str();
send(Socket,ch,1000,0);

თანმივდევრობა უნდა იყოს სხვადასხვა. ერთზე ჯერ იღებ და მერე აგზავნი და მერეოზე ჯერ აგზავნი და მერე იღებ. იგივე თანმივდორეობა რომ გქონდეს 2ივე გაჩერდება მიღებაზე

  • Upvote 2
Link to comment
Share on other sites

  • Barca locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.