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

التواصل مع المستخدم عبر شبكة الأنترنت

مغلق
بدأه proo man في 4 يوليو 2007 · 6 رد · 2,034 مشاهدة · في برمجة الشبكات والتطبيقات الموزعة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لقد طلب مني برنامج شبكات ولكن الاتصال بينهم عبر الانترنت لان الفرع الرئيسي بالقاهرة وبقيه الفروع متفرعه في بعض المحافظات

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

علما بان قاعده البيانات اس كيو ال وهتكون طبعا علي الجهاز الرئيسي

سؤالي هو كيف يتم الاتصال بين البرنامج الرئيسي والفروع وباي برتكول سوف يستخدم وهل فيجول نت قادر علي ذلك ام لا

ارجو المساعده

وشكرااااااااااا

#2

السلام عليكم :

أخي الكريم : في المشاركة التالية ستجد نفس الفكرة تقريباً ...

ولكني لم أنفذ الأفكار التي جاءت فيها ! المعذرة .

/index.ph...=121277&hl=

وفقكم الله .

#3

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

#4

السلام عليكم

اخى الموضوع ليس له علاقة بالفيجول نت على الاطلاق

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

فى الحالة التى ذكرتها انت مثلا (الفرع الرئيسي بالقاهرة وبقيه الفروع متفرعه في بعض المحافظات ) لابد من طريقة لتوصيل شبكة بين هذه الفروع سواء عن طريق Data DSL او عن طريق عمل VPN عن طريق الانترنت وبعدها سوف تتمكن كل الاجهزة على الشبكة من الوصول لبعضها وكأنك ناخل شبكة LAN وقى هذه الحالة سوف يكون الفيجول نت واى لغة برمجة اخرى قادة على الوصول الى قاعدة البيانات

#5

اعتقد انك بحاجة اولا الى رقم اي بي ثابت للسيرفر وبعد ذلك يمكن الاتصال مباشرة بال sql server (حل عقيم لكن بيشتغل ) والحل الافضل ان تتعامل مع الويب سيرفس حيث تقوم برامجك بالاتصال بها

#6

السلام عليكم

أجل بإمكانك التواصل مع المستخدم عبر شبكة الأنترنت ويكون ذلك أساسا بإعتماد الأقسام التالية:

HttpWebRequest, WebRequest, HttpWebResponse, HttpUtility

للأسف أني أبرمج أساسا بالسي شارب, ربما يكون هذا الكود مفيدا لك فالVB.Net مشابه كثيرا

using System;
   using System.IO;
   using System.Net;
   using System.Web;
   using System.Xml;
   using System.Data;
   using System.Text;
   using System.Drawing;
   using System.Collections;
   using System.Windows.Forms;
   using System.ComponentModel;
   using System.Collections.Generic;

   namespace Aeabteam_ReadFromURL
   {
		   public partial class Form1 : Form
		   {
				   public static String ReadFromURL(string url)
				   {
						   string result = string.Empty;

						   // data to be sent				   
						  StringBuilder postData = new StringBuilder();

						   StringBuilder Text12 = new StringBuilder();
						   postData.Append("entity = " + "MyName");
						   postData.Append("&Data = " + HttpUtility.UrlEncode("Message to be sent"));


						   byte[] data1 = ASCIIEncoding.ASCII.GetBytes(postData.ToString());
						   HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);

						   // Add the required headers
						  webRequest.Method = "POST";
						   webRequest.ContentType = "application/x-www-form-urlencoded";

						   // Since we are sending data , specify the content and write to the stream
						  webRequest.ContentLength = data1.Length;
						   Stream newStream = webRequest.GetRequestStream();

						   // Send the data.					
						 newStream.Write(data1 , 0 , data1.Length);
						   newStream.Close();
						   // Retrieve the response 
						   HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();

						   System.IO.Stream stream = webResponse.GetResponseStream();
						   System.Text.Encoding ec = System.Text.Encoding.GetEncoding("utf-8");
						   System.IO.StreamReader reader = new System.IO.StreamReader(stream , ec);

						   char[] chars = new Char[2048];
						   int count = reader.Read(chars , 0 , 2048);

						   // read ans store lines from the page						 while (count > 0)
						   {
								   string str = new String(chars , 0 , count);
								   result = result + str;
								   count = reader.Read(chars , 0 , 2048);
						   }

						   reader.Close();
						   return result;
				   }

				   //--------
				   public Form1()
				   {
						   InitializeComponent();
				   }
				   //---------- 
				   private void Form1_Load(object sender , EventArgs e)
				   {
						   string answer = ReadFromURL("http://www.arabteam2000.com/");

						   StreamWriter Output = new StreamWriter("C:/mypage.html");
							Output.Write(answer);
						   // continue in this way to find the internal links of each html file
						   String[] HTTPLinks = answer.Split( '<' );

						   Output.Close();
						   //---------- 
					}
		   }
   }
#7

يمكن عمل ذلك بسهولة عن طريق ال Client/Server Model و ذلك عن طريق ان يكون السيرفر الأصلي له IP ثابت مثل ما ذكرو الشباب و من ثم يقوم البرنامج ال CLient بعمل Connection الى السيرفر بحيث ان يتم عمل طريقة لتبقي الإتصال جاري لفترة مثل ال MSN Messenger يستخدم امر PING لإرساله الى ال Client و سيقوم الClient بالرد برسالة موجود حتى لا يتم فصل الإتصال بينك و بينه.

الأمر سهر و راجع في الصفحة الأولى في منتدى السي شارب يوجد كود كلاس ال Asynchronous Client Socket لعمل ذلك و كلاس السيرفر على الطريق ان شاء الله

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

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

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