الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خلاص ولله الحمد تم عمل (خادم وعميل) وتم الربط بينهما...((والفضل لله ثم لكم))

مغلق
بدأه n3rd في 23 أكتوبر 2006 · 16 رد · 1,420 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته...

اليوم جايكم من غير أخطاء برمجية...<< فكة <_<

وكل مايطلع خطأ أروح وابحث عنه هنا في المنتدى و قوقل...وألاقي الجواب الشافي...

طبعا أنا عملت كلاينت وسيرفر...وسار الكلاينت يرسل نص والسيرفر يطبع على الشاشة النص بعد إستقباله...

ولكن السؤال هو...

هل بإمكاني أن أجعل الكلاينت يرسل كلمة shutdown مثلا...والسيرفر يطبق الأمر هذا على أساس إنه أمر...فيقوم بإغلاق الجهاز...

*وللتوضيح أكثر راح أشرحلكم ...

----------- ------------

كلاينت \ ----إرسال نص(shutdown)----> سيرفر \-----> (لايقوم بإعلانها بالشاشة) ولكن بتطبيقها في النظام ويقوم بإغلاق الجهاز...

----------- ------------

وهكذا...

أعتقد إنه العملية فيها جملة شرطية if وما إلى ذلك...

منتظركم ومنتظر ردودكم...

أرجوا إنه سؤالي تم فهمه...وتحيتي لكم...

#2

السلام عليكم أنا ممكن أساعدك بكود من الفيجوال بيسيك

و ممكن تتابع نفس سؤالك في قسم لفيجوال بيسيك على هذا الرابط /index.php?showtopic=110212

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
	Winsock1.GetData strData
	If strData = "SHUT" Then
		Shell ("shutdown -s")
	Else
	Text1.SelText = strData
	End If
End Sub
#3

السلام عليكم

اخ سنيبر

اكيد بتستخدم جملة اف الشرطية

او ممكن تستخدم جملة switch بس بترسل الاوامر عن طريف الارفام مش الحوف لانى سويتش بتتعامل مع الارقام

او ممكن فى عندى طريقة تانى لو اديتنى فرصة حعملك مثال عنها

#4
اقتباس
أعتقد إنه العملية فيها جملة شرطية if وما إلى ذلك...

مظبوط يا أخى, الكود حيبقى غالبا حاجة زى كدة>

if (cmd == "shutdown")
   // API call to do shut down
else if (cmd == "hibernate")
  // API call to do hibernate
......
#5

مشكورين أخواني على المرور...والإفادة...

وأنا أظن إنه الكود راح يكون زي كذا...

if (cmd =="ShutDown")
{
system(shutdown -s);
}
else
{
cout <<"command not found...\n";
}

ولكن السؤال هل الدالة system() هي التي أستطيع عن طريقها تطبيق الأوامر...

وخاصة إني أبغى أطبق أوامر على النظام...

وتحيتي لكم...

تم تعديل هذه المشاركة بواسطة The_Sniper في 23 أكتوبر 2006 في 19:23

#6

اخ سنيبر الطريقة دى مش بتنفع فى السى

لان المقارنة بين السلاسل الحرفية مش كده فى السى

لازم تستخدم الدالة strcmp او _stricmp

لو كنت عايز الكود بالسى انا عندى كود حارفقهولك ولو احتجت تعرف اى حاجة عنه انا حاضر

فى طرق تانية اصعب واطول شوية

لو منفعش الكود ده معاك انا برضو فى خدمتك

وبالنسبة لتفذ الدوال

فالسى فى دوال كتيرة منها سيستم اللى انت بتستخدمها او winexe او shellexecute فى api

وفى دوال api لاغلاق الجهاز احسن من تشغيل برنامج شت داون

Main.zip

#7

مشكور أخوي وماقصرت ولكن هل الكود اللي أنا كتبته فوق...صحيح..؟؟؟ مع العلم إني أستخدم السي++...

ومشكور لمشاركتك الفعالة معنا...وكل سنة وإنت طيب...

#8

لسلام عليكم

اخ سنيبر الكود اللى انت كاتبه فوق للاسف مش صحيح

فى السى ولا فى السى ++

المقارنة == ى فى الاعداد بس

اما سلااسل الحروف بتكون

if ( strcmp(cmd,"Shutdown")==0)

{

do what ever you want

}

ولو احتجت اى خدة برضو انا موجود ان شاء الله

وكل سنة وانت طيب

#9

;(ExitWindows(EWX_POWEROFF,0

هذي الداله لأغلاق الجهاز بدون system

واذا تبا مـثلا تعمل Logoff او restart

بس غير البارمتر الاول الى EWX_REBOOT الي هو رستارت

او EWX_LOGOFF ^_^

#10

مهلا مهلا اخوتي

لم التعامل اصلا مع السلاسل النصية

لم لا يتم ترقيم الاوامر

مثلا

1:ايقاف التشغيل

2:ارسال نص معين

وهكذا ....

ثم بعد ذلك جملة swicth توزع الاوامر على حسب الارقام

وانتهينا

تم تعديل هذه المشاركة بواسطة alawashiz في 24 أكتوبر 2006 في 08:16

#11
اقتباس
ليوم جايكم من غير أخطاء برمجية...<< فكة dry.gif

مبروك :lol:

--

فقط حبيت أبارك لك .. أنا وبرمجة الشبكات بيننا تنافر .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#12

مشكورن أخواني علي تفاعلكم...

وأعيد شكري للأخ darakand...

وأنا فهمت منك إنه (==) لاتكون إلا في الأرقام...<< هذه معلومة حلوة وأشكرك عليها...

...أبغاك تركز معاي في نقطة مهمة جدا...أولا الـBuf اللي من نوع char ... تنرسل من الكلاينت إلى السيرفر...

وش هو المطلوب...

إذا ...

أنا من (الكلاينت) رسلت كلمة shutdown...(عن طريق الدالة send في الوينسوك)...

و...

أنا أريد من السيرفر أن يتحقق من الـBuf إن كان "shutdown" فإنه يقوم بغلق الجهاز...

وإن كان "another command" فإنه يطبع عبارة ...Command Not Found...

وهكذا...

وتحيتي لك...إذا أتعبتك...

#13

اخ سنيبر

اولا انت ولا تعبتنى ولا حاجة انا فى خدمتك وخدمة اى حد مادام اقدر اساعد

بص انا مش عارف البرنامج بتاك ده كونسول ولا ويندوز

انت الاحسن انك تكلمنى على المسجر وتفهمنى بالظبط اللى انت عايزه

وان شاء الله اقدر اساعدك

اميلى akramrt

ده ياهو وهتميل

حدد المعاد اللى نتنقابل فيه ويستحسن قبل يوم الجمعة ربنا يسهل

#14
اقتباس
حدد المعاد اللى نتنقابل فيه ويستحسن قبل يوم الجمعة ربنا يسهل

الماسنجر أصلا ما أخشه...واللي عندي beta سئ جدا... :(

ولكن أنا أتمنى إنه الأجابة تكون هنا عشان أنا أستفيد وإنت تستفيد والكل يستفيد.... :)

اقتباس
بص انا مش عارف البرنامج بتاك ده كونسول ولا ويندوز

consol....

عملت ملف server.cpp و client.cpp وترجمتهم....

اقتباس
ولا انت ولا تعبتنى ولا حاجة انا فى خدمتك وخدمة اى حد مادام اقدر اساعد

والله هذا من طيبك وطيب أصلك....وكثر الله من أمثالك في المنتدى... :)

ومنتظرين الإجابة إن كان أحد يعرفها...

وتحيتي لكم...

#15

بص يا اخ سنيبر

انت اكيد بتستلم البفر من الكلاينت بالدالة recv

بعد كده بتدخل البفر buf فى دالة تانية او فى جملة switch على طول زى ما فى المثال اللى فوق

وتنفذ الاوامر

ان شاء الله يكون ده قصدك المطلوب

#16
اقتباس
بص يا اخ سنيبر

ها ؟؟؟ أنا معك... :)

اقتباس
انت اكيد بتستلم البفر من الكلاينت بالدالة recv

أكيد...

اقتباس
بعد كده بتدخل البفر buf فى دالة تانية او فى جملة switch على طول زى ما فى المثال اللى فوق

مظبوط وأعتقد إنه المثال هو اللي أنا كتبته...صح أو لا...؟؟؟

اقتباس
وتنفذ الاوامر

ممتاز... :)

اقتباس
ان شاء الله يكون ده قصدك المطلوب

تسلم أخوي على ردك ...والجواب...

تحيتي لك...وجزاك الله ألف ألف ألف ألف ألف ألف ألف ألف ألف ألف ألف ألف خير...

والله يوفقك,,,

#17

ده مثال للسيرفر اخ سنيبر

اعتقد انه ده طلبك

Server.zip

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…