GaGsOn Posted May 1, 2014 Share Posted May 1, 2014 გამარჯობათ ესაა ნაწყვეტი პროგრამიდან 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 More sharing options...
მიშო Posted May 1, 2014 Share Posted May 1, 2014 ეს არ წავა? while(true){ კოდი } ან რამე bool ცვლადი აღწერე. მნიშვნელობა true მიანიჭე და ის ჩასვი ვაილში. როცა აღარ გენდომება false მიანიჭე და გამოვა ციკლიდან. 1 Link to comment Share on other sites More sharing options...
RaZma Posted May 1, 2014 Share Posted May 1, 2014 +1 Link to comment Share on other sites More sharing options...
GaGsOn Posted May 1, 2014 Author Share Posted May 1, 2014 ეს არ წავა? while(true){ კოდი } ან რამე bool ცვლადი აღწერე. მნიშვნელობა true მიანიჭე და ის ჩასვი ვაილში. როცა აღარ გენდომება false მიანიჭე და გამოვა ციკლიდან. while ით ეგრე არ შვება მე for( ; ; ) ვიყენებდი ეგრეც ვცადე მაგრამ ეს ორივე მგონი რო ერთიდაიგივეა. bool ს ვცდი მაგრამ არც მაგამ მგონ ია იმუშაოს. Link to comment Share on other sites More sharing options...
მიშო Posted May 1, 2014 Share Posted May 1, 2014 while ით ეგრე არ შვება მე for( ; ; ) ვიყენებდი ეგრეც ვცადე მაგრამ ეს ორივე მგონი რო ერთიდაიგივეა. bool ს ვცდი მაგრამ არც მაგამ მგონ ია იმუშაოს. რატო არ შვება, ჩაციკვლა არ გინდა? Link to comment Share on other sites More sharing options...
GaGsOn Posted May 1, 2014 Author Share Posted May 1, 2014 რატო არ შვება, ჩაციკვლა არ გინდა? კი ეგრე მინდა მაგრამ მეც ვერ მივხვდი რატომ არ შვება. სანამე რამეს send ით არ გაგზავნი recv არ ბეჭდავს. რეფრეშიშ მსგავსი მინდა რამე რო თავად დაარეფრეშოს ეგეთი რამე შეიძლება თუ იცი? ჩათის პროგრამაა ეს და შეიძლება მაგიტომ არ მუშაობს არ ვიცი Link to comment Share on other sites More sharing options...
ოთო Posted May 1, 2014 Share Posted May 1, 2014 მეორე მხარის კოდიც დაპოსტე. ეს ან სერვერია ან კლიენტი. სოკეტიდან რომ იგზავნება შეტყობინება (send) მიდის უპრობლემოდ, უბრალოდ მერე ელოდება რომ რამე მიიღოს (recv) და შესაბამისად სანამ მეორე მხარიდან რამე შეტყობინება არ გამოვა სხვა ვერაფერს ვერ გააკეთებს და შესაბამისად ახლიდან არაფერი არ გაიგზავნება იმედია გარკვევით ავხსენი 2 Link to comment Share on other sites More sharing options...
GaGsOn Posted May 2, 2014 Author Share Posted May 2, 2014 ეს კლიენტია და სერვერის კოდის ზუსტად ესეთივეა. გასაგებია მადლობა Link to comment Share on other sites More sharing options...
ოთო Posted May 2, 2014 Share Posted May 2, 2014 ზუსტად იგივე რომ იყოს გაჩერდება და არაფერს არ იზამს ეს იყო კლიენტი. ანუ ჯერ გააგზავნე და მერე დაელოდე 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ივე გაჩერდება მიღებაზე 2 Link to comment Share on other sites More sharing options...
Recommended Posts