السلام عليكم و رحمة الله و بركاته
اقدم لكم درس لطريقة عمل نظام شبكة بين جهازين اي LAN وليس Online
الشرح ان شاء الله سيكون في السي شارب
بسم الله نبدا:
اولا قم بعمل بروجكت جديد و اعمل سكربت سي شارب و نسميه connect
و نقوم بنسخ هذا الكود و نضعه فيه :
جربها ستلاحظ وجود زرين واحد لفتح سيرفر و الثاني للاتصال و نافذة لكتابة الايبي
يمكنك التجريب من جهازك فقط بتصدير اللعبة ثم فتحها مرتين
الايبي حيكون نفسه الافتراضي 127.0.0.1
افتح السيرفر باللعبة الاولى و الثانية اكبس على اتصال
ستلاحظ انه تم الاتصال و التزامن
نبدأ بالشرح:
هنا قمنا بعمل متغيرين لتخزين الايبي و المنفذ port
قمنا باستخدام الفنكنشن OnGUI
قمنا بكتابة شرط انه : اذا كان نوع الاتصال هو غير متصل قم بـ
في السطر الاول قمنا بعمل GUI.TextArea لتخزين الايبي مع امكانية تعديله
بعدها قمنا بعمل زر اسميناه start server وقلنا انه اذا تم ضغطه سوف يتم استخدام الكود Network.InitializeServer الذي يقوم بفتح سيرفر , الكود يتكون من قسمين الاول هو العدد الاقصى الذي يمكنه الاتصال بالسيرفر و هنا وضعنا 10 (يمكنك تغييره لأي رقم تريده) و القسم الثاني هو المنفذ و وضعناه المتغير port الذي عرفناه فيما سبق
و قمنا بعمل زر اخر اسمينا Connect وقلنا انه اذا تم ضغطه سوف يعمل الكود Network.Connect الذي يقوم بالاتصال بالسيرفر و يتكون من قسمين الاول هو الايبي و وضعناه المتغير IP الذي عرفناه فوق و الثاني هو المنفذ Port الذي عرفناه فوق ايضا
هنا قلنا انه اذا لم يكن غير متصل (اي انه اذا كان متصل)و قمنا بعمل شرط داخل هذا هو
اذا كان نوع الاتصال هو مستقِبل (اي انه اذا كان متصل بالسيرفر) فسوف :
يتم عمل زر نسميه Disconnect و قلنا انه اذا تم الضغط عليه سوف يقطع الاتصال
هذا شرط اخر وضعنا في اال else وهو
انه اذا كان نوع الاتصال سيرفر (اي انه اذا فتح السيرفر) فسوف :
ايضا يتم عمل زر اسمه turn off server اذا تم الضغط عليه سوف يقطع السيرفر
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ـــــــــــــــــــــــــــــــــــــــــــــــــ
سنتوقف هنا في هذا الدرس
ان شاء الله في الدروس القادمة اشرح طريقة استخدام هذا الاتصال في الالعاب
اتمنى اكون افدتكم و اي ملاحظة او سؤال او خطأ ارتكبته اكتبه في كومنت
تحياتي
اقدم لكم درس لطريقة عمل نظام شبكة بين جهازين اي LAN وليس Online
الشرح ان شاء الله سيكون في السي شارب
بسم الله نبدا:
اولا قم بعمل بروجكت جديد و اعمل سكربت سي شارب و نسميه connect
و نقوم بنسخ هذا الكود و نضعه فيه :
كود PHP:
using UnityEngine;
using System.Collections;
public class connect : MonoBehaviour {
public string IP = "127.0.0.1";
public int Port = 25555;
void OnGUI(){
if(Network.peerType == NetworkPeerType.Disconnected){
IP = GUI.TextArea(new Rect(105,5,100,25),IP);
if(GUI.Button(new Rect(5,5,100,25),"Start Server")){
Network.InitializeServer(10,Port);
}
if(GUI.Button(new Rect(5,35,100,25),"Connect")){
Network.Connect(IP,Port);
}
}
else{
if(Network.peerType == NetworkPeerType.Client){
if(GUI.Button(new Rect(5,35,100,25),"Disconnect")){
Network.Disconnect();
}
}
if(Network.peerType == NetworkPeerType.Server){
if(GUI.Button(new Rect(5,35,100,25),"Turn off server")){
Network.Disconnect();
}
}
}
}
}
يمكنك التجريب من جهازك فقط بتصدير اللعبة ثم فتحها مرتين
الايبي حيكون نفسه الافتراضي 127.0.0.1
افتح السيرفر باللعبة الاولى و الثانية اكبس على اتصال
ستلاحظ انه تم الاتصال و التزامن
نبدأ بالشرح:
كود PHP:
public string IP = "127.0.0.1";
public int Port = 25555;
كود PHP:
void OnGUI(){
}
كود PHP:
if(Network.peerType == NetworkPeerType.Disconnected)
كود PHP:
IP = GUI.TextArea(new Rect(105,5,100,25),IP);
if(GUI.Button(new Rect(5,5,100,25),"Start Server")){
Network.InitializeServer(10,Port);
}
if(GUI.Button(new Rect(5,35,100,25),"Connect")){
Network.Connect(IP,Port);
}
بعدها قمنا بعمل زر اسميناه start server وقلنا انه اذا تم ضغطه سوف يتم استخدام الكود Network.InitializeServer الذي يقوم بفتح سيرفر , الكود يتكون من قسمين الاول هو العدد الاقصى الذي يمكنه الاتصال بالسيرفر و هنا وضعنا 10 (يمكنك تغييره لأي رقم تريده) و القسم الثاني هو المنفذ و وضعناه المتغير port الذي عرفناه فيما سبق
و قمنا بعمل زر اخر اسمينا Connect وقلنا انه اذا تم ضغطه سوف يعمل الكود Network.Connect الذي يقوم بالاتصال بالسيرفر و يتكون من قسمين الاول هو الايبي و وضعناه المتغير IP الذي عرفناه فوق و الثاني هو المنفذ Port الذي عرفناه فوق ايضا
كود PHP:
else{
if(Network.peerType == NetworkPeerType.Client)
اذا كان نوع الاتصال هو مستقِبل (اي انه اذا كان متصل بالسيرفر) فسوف :
كود PHP:
if(GUI.Button(new Rect(5,35,100,25),"Disconnect")){
Network.Disconnect();
}
كود PHP:
if(Network.peerType == NetworkPeerType.Server){
انه اذا كان نوع الاتصال سيرفر (اي انه اذا فتح السيرفر) فسوف :
كود PHP:
if(GUI.Button(new Rect(5,35,100,25),"Turn off server")){
Network.Disconnect();
}
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ـــــــــــــــــــــــــــــــــــــــــــــــــ
سنتوقف هنا في هذا الدرس

ان شاء الله في الدروس القادمة اشرح طريقة استخدام هذا الاتصال في الالعاب
اتمنى اكون افدتكم و اي ملاحظة او سؤال او خطأ ارتكبته اكتبه في كومنت
تحياتي
تعليق