fekre-bekr,learning,source,سورس,سورس رایگان,آموزش,اخبار,فناوری اطلاعات,mvc,.net,ساری,آموزشگاه,asp.net,c#.net,programing,c++,vb,آموزش برنامه نویسی,دانلود

اشتراک در سایت


مطالب تصادفی
اخبار و مقالات در فکر بکر آموزش آپلود چندین فایل بصورت همزمان در Asp.net MVC

در این مقاله به آموزش آپلود چندین فایل بصورت همزمان خواهیم پرداخت جهت مشاهده این آموزش به ادامه مطلب توجه نمایید. ...


اخبار و مقالات در فکر بکر آموزش نحوه ایجاد Extention method در C#

در این بخش با ارائه مثال عملی تبدیل تاریخ میلادی به شمسی به آموزش Extention method می پردازیم. ...


اخبار و مقالات در فکر بکر آموزش نحوه ریست کردن Migration در EntityFramework

لطفا به ادامه مطالب توجه فرمایید ...


اخبار و مقالات در فکر بکر پیاده سازی مسیریابی با استفاده از الگوریتم پیمایش اول سطح یا جستجوی اول سطح (BFS) در سی شارپ

الگوریتم پیمایش اول سطح یا جستجوی اول سطح (Breadth First Search - BFS) از جمله الگوریتم‌های مشهور پیمایش و جستجوی گراف است که در ...


اخبار و مقالات در فکر بکر آموزش dependency injection در Asp.net core 2

تزریق وابستگی یکی از مباحث مبهم برای برنامه نویسانی که به تازگی با این عنوان آشنا شده اند می باشد.اما باید در نظر داشته باشید که ...


اخبار و مقالات در فکر بکر حل تمرین مسائل برنامه نویسی از بخش دستورات تکرار (حلقه ها) در سی شارپ

جهت مشاهده سوال و دانلود سورس آن لطفا به ادامه مطلب توجه نمایید. ...


اخبار و مقالات در فکر بکر آموزش نحوه ایجاد Model برای دیتابیس موجود در Entity Framework Core

در این آموزش به نحوه ایجاد کلاسهای context و entity برای دیتابیس موجود در Entity Framework Core خواهیم پرداخت. ...


اخبار و مقالات در فکر بکر حل تمرین مسائل برنامه نویسی از بخش آرایه ها در سی شارپ

جهت مشاهده سوال و دانلود سورس آن لطفا به ادامه مطلب توجه نمایید. ...


اخبار و مقالات در فکر بکر آموزش مبحث Single Responsibility Principle (SRP) از بخش اصول طراحی شی گرا (SOLID)

در این اموزش هدف ایجاد کلاس و اشیاء با کمترین وابستگی جهت بهینه کردن تست و آسان نمودن توسعه نرم افزار می باشد. لذا برنامه نویس با ...


اخبار و مقالات در فکر بکر آموزش استفاده از Bundler & Minifier در Asp.Net Core

در این آموزش ابتدا چند فایل استاتیک(css-js) به ویوی برنامه ارجاع میدهیم و سپس با استفاده از مفهوم Bundling and Minifying حجم و تر ...


اخبار و مقالات در فکر بکر آموزش اتصال داده ها بین دو کنترل DropDownList در Asp.netMVC بصورت Ajax

در این قسمت به آموزش اتصال داده ها بین دو کنترل DropDownList مانند آنچه که جهت نمایش شهر ها بر اساس استان انتخاب شده مورد استفاد ...


اخبار و مقالات در فکر بکر آموزش نحوه Upload و Download در Asp.net core 2

جهت آپلود یک یا چندین فایل در Asp.net Core MVC از اینترفیس IFromFile استفاده میکنیم. ابتدا یک پروژه از نوع ASP.NET Core Web Appl ...


اخبار و مقالات در فکر بکر آموزش دستورات کاربردی در SQL

با سلام خدمت کاربران فکر بکر - جهت دانلود این آموزش به ادامه مطالب مراجعه نمایید ...


اخبار و مقالات در فکر بکر حل تمرین مسائل برنامه نویسی از بخش رویدادهای کیبورد (Windows Form) در سی شارپ

در این برنامه سوال مرتبط با تایپ حروف و نمایش آن در کنترل لیبل با توجه به رویدادهای صفحه کلید حل شده است لطفا به ادامه مطلب مراجع ...


پیوندها
4.8 (56)

در این برنامه با استفاده از Socket و پروتکل UDP دو برنامه جهت ارسال و دریافت پیام بصورت دوطرفه ایجاد میکنیم. لطفا به ادامه مطلب توجه نمایید.
گروه : برنامه نویسی سوکت
تاریخ انتشار: 1395/11/22

فکر بکر

در این برنامه با استفاده از Socket و پروتکل UDP دو برنامه جهت ارسال و دریافت پیام بصورت دوطرفه ایجاد میکنیم. لطفا به ادامه مطلب توجه نمایید.

در صورتیکه نیاز به توضیح کلاسهای مرتبط به برنامه نویسی تحت شبکه دارید پیشنهاد میکنم این قسمت را مطالعه کنید.

پروژه ای با نام ChatSocket1 از نوع ویندوزی ایجاد کنید و فرم آن را بشکل زیر طراحی نمایید.

socket programming(چت)

 

سپس فضای نامهای زیر را به برنامه اضافه نمایید.

using System.Net;

using System.Net.Sockets;

using System.Threading;

ما در این برنامه جهت ارسال و دریافت پیام از پروتکل  UDP استفاده میکنیم بنابراین با استفاده از کلاس Socket و پروتکل UDP بستر برنامه کاربردی را جهت ارتباط دوطرفه با سیستمهای دیگر را  پیاده سازی میکنیم. 

Socket so1;

        public Form1()

        {

            so1 = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            InitializeComponent();

        }

نکته : ما در این آموزش از یک سیستم جهت ارتباط دوطرفه استفاده میکنیم لذا در اینصورت شماره پورتهای دو برنامه باید متفاوت باشند. 

همانطور که میبینید در این برنامه از شماره پورت 5050 جهت دریافت اطلاعات استفاده مینماید اما در برنامه ی دومی که ایجاد میکنیم از پورت 5051 استفاده میکنیم.

ادامه کار :

جهت ارسال پیام کدهای زیر  را در رویداد کلیک دکمه مورد نظر درج میکنیم.

byte[] buffer = new byte[2048];

            buffer = Encoding.Unicode.GetBytes(txtMessage.Text);

            so1.SendTo(buffer, new IPEndPoint(IPAddress.Parse(txtIP.Text), int.Parse("5051")));

همانطور که میبینید پیام به سیستمی که دارای آی پی درج شده در txtIP میباشد و به  پورت شماره 5051 گوش میدهد  ارسال شده است.

اکنون به پیاده سازی دریافت پیامهای ارسال شده توسط سیستمهای دیگیر به این برنامه می پردازیم . لذا تابع زیر را جهت منتظر ماندن و دریافت پیامهای ارسال شده از طرف کاربران شبکه مینویسیم.

   public void StartServer()

        {

 

            while (true)

            {

                byte[] buffer = new byte[2048];

                int r = so1.Receive(buffer);

 

                if (r > 0)

                {

                    this.Invoke((MethodInvoker)delegate

                    {

                        lstMessage.Items.Add(Encoding.Unicode.GetString(buffer, 0, r));

                    });

                }

            }

 

        }

سپس کد زیر را جهت اتصال و آماده سازی برنامه برای تبادل پیام در شبکه می نویسیم

  so1.Bind(new IPEndPoint(IPAddress.Parse(txtIP.Text), int.Parse(txtPort.Text)));

            Thread Tr = new Thread(new ThreadStart(StartServer));

            Tr.Start();

با توجه به قطعه کدهای بالا بر نامه ما با آی پی 127.0.0.1 به پورت 5050 وصل میشود.

اکنون کار ما برای بخش اول به پایان رسیده است.

برای ایجاد برنامه دوم شما میتوانید از کدهای نوشته شده در برنامه ChatSocket1 استفاده کنید فقط به این نکته توجه داشته باشید که برنامه دوم جهت اتصال به شبکه در صورتیکه آی پی دو برنامه مشابه هم باشند نباید  دارای شماره پورتهای یکسان نباشند.

شما میتوانید سورسهای برنامه را از قسمت فایلهای ضمیمه شده دریافت نمایید.

شکل خروجی برنامه.

socket_chat

socket_chat

 

*****
|
1397/06/22

سلام ببخشید ما با استفاده از پروتکل udp برنامه نوشتیم. حالا شما فرض کنید که یک پیام از کلاینت به سرور فرستادیم و سرور آن پیام را دریافت نکرد ، پس در این صورت کلاینت از کجا باید بفهمد که سرور پیام را دریافت کرده یا نه؟ میشه برای حل کردن این مشکل (در پروتکل UDP) جه راه حلی را پیشنهاد میدهید؟
محمد مهدوی
|
1397/06/30

این پروتکل (udp) نیازی به اتصال ندارد، به این معنی که یک برنامه می تواند بسته ای از داده ها را به دیگری بفرستد و این می تواند پایان ارتباط باشد.

رویا
|
1397/09/28

سلام خسته نباشید ببخشید ما اگه بخوایم یه برنامه دو طرفه که هم چت داشته باشه و هم ارسال فایل چجوری باید بنویسیم؟ دو تا سوکت باید تعریف کرد واسه هر کدوم ؟ اگه میشه راهنماییم کنید من برنامم اجرا میشه فقط ارور no connection could be made because the target machine actively refused it روی خط sendsocket.connect(iep)میده
محمد مهدوی
|
1397/09/29

سلام - از طریق تلگرام پیام بدید سورس مورد نظر ارسال خواهد شد.

تبسم
|
1397/10/08

سلام من برنامه ای نوشتم که دوتا کلاینت ویه سروره وکلاینتا باهم ارتباط دارند ولی فقط میتونن باهم چت کنن امامیخوام که بتونن عکس هم برای هم بفرستن شما میتونید راهنمایی کنید؟
محمد مهدوی
|
1397/10/09

سلام - مشکلتون در اسال عکس و دریافت عکسه؟

محدثه
|
1397/10/09

منم همین مشکلو دارم

زهرا
|
1398/08/14

سلام من مشابه این برنامه رو میخوام نوشتم یه جا اشکال دارم میتونی بهم کمک کنی

محدثه
|
1397/10/09

سلام من شبیه همین برنامه نوشتم ولی میخوام فایل یا عکس به هم ارسال کنند میشه راهنمایی کنید به شدت نیاز به این قطعه کد دارم
محمد مهدوی
|
1397/10/10

لینک سورس ارسال فایل http://www.fekre-bekr.ir/showdetails.aspx?ID=3179 ارسال عکس در سایت قرار خواهد گرفت

سارا
|
1397/12/20

سلام وقتتون بخیر .من میخوام که چندتا کلاینت باهم صحبت کنن.و یه لیست باکس باشه که هر کس با هر کس دیگه ای که دوس دارد.ابتدا انتخاب و سپس چت کنن.میشه راهنماییم کنید.منون
محمد مهدوی
|
1397/12/25

سلام - شما از ظریق سوکت پروگرمینگ یا وب سوکت میتونید بصورت تحت وب یا ویندوز برنامتونو بنویسید .

Zahra
|
1398/08/14

سلام اگ نوشتی به منم کمک میکنی منم یه برنامه شبیه این لازم دارم🧡🧡🧡

زهرا رازقی
|
1398/08/14

سلام من اگ بخوم یه سرور داشته باشم دوتا کلاینت کدا ک کلاینام با هم ارتباط داشته باشن چ کدی باید بنویسم الان یه سرورو یه کلاینتو خودم نوشتم ارتباطشونم برقراره
محمد مهدوی
|
1398/08/15

ابتدا از کلاینت به سرور بفرستید و سپس از سرور به کلاینت انتقال بدید. در واقع سرور ای پی مقصد رو باید داشته باشه

2483Ah

وارد کردن فقط حروف فارسی و جلوگیری از ورود حروف فارسی در تکست باکس با استفاده از JQuery -------- سورس استفاده از کامپوننت Roxy File manager در Asp.net core -------- آموزش ساخت صفحه Page Not Found (404) در Aspnet core -------- آموزش ایجاد Tag Helper سفارشی در Asp.net core -------- آموزش نحوه ایجاد Model برای دیتابیس موجود در Entity Framework Core -------- آموزش نحوه Upload و Download در Asp.net core 2 -------- آموزش dependency injection در Asp.net core 2 -------- آموزش تحت شبکه کردن برنامه های مبتنی بر c# در sql server -------- آموزش استفاده از Bundler & Minifier در Asp.Net Core -------- مروری بر Identity در Asp.net core2.1 (بخش دوم) -------- مروری بر Identity در Asp.net core2.1 (بخش اول) -------- آموزش مبحث Single Responsibility Principle (SRP) از بخش اصول طراحی شی گرا (SOLID) -------- آموزش publish کردن برنامه های Asp.net core بر روی سرور iis -------- پیاده سازی مسیریابی با استفاده از الگوریتم پیمایش اول سطح یا جستجوی اول سطح (BFS) در سی شارپ -------- آشنایی با SignalR در Asp.net core -------- آموزش استفاده از کلاس SeedData در Asp.net Core -------- قالب سایت فروشگاهی -------- آموزش ایجاد برنامه نصب (setup) قسمت سوم -------- آموزش ایجاد برنامه نصب (setup) قسمت دوم -------- آموزش ایجاد برنامه نصب (setup) قسمت اول -------- آموزش عملیات CRUD با استفاده از Ragor Pages در Asp.net Core2.0 -------- آموزش ثبت تصویر توسط دوربین در برنامه نویسی اندروید به زبان c#.net -------- حل مساله n وزیر با استفاده از الگوریتم ژنتیک و بصورت گرافیکی -------- آموزش نمایش تصویر loading در سمت client جهت بارگزاری صفحات با حجم زیاد از سرور در asp.net mvc -------- آموزش اعتبار سنجی غیر همزمان(AsyncValidation) با استفاده از جاوااسکریپت در Asp.net mvc -------- آموزش ایجاد breadcrumb با استفاده از sitemap در MVC -------- آموزش ایجاد برنامه چت دوطرفه با استفاده از Socket در سی شارپ -------- آموزش ارسال و دریافت فایل در برنامه تحت شبکه با استفاده ار سوکت (Socket) -------- آموزش رسم نمودار در Asp.net -------- آموزش ایجاد مگا منو -------- آموزش استفاده از Grid mvc در Asp.net mvc -------- پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش چهارم) -------- پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش سوم) -------- پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش دوم) -------- پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش اول) -------- بررسی نکات امنیتی در آپلود تصاویر -------- آموزش async - await در یک مثال عملی -------- قالب پنل ادمین -------- آموزش Repository pattern در Asp.net MVC -------- آموزش Serialize و Deserialize اطلاعات در قالب Json به زبان C#.net --------

ابتدای صفحه