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

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


مطالب تصادفی
اخبار و مقالات در فکر بکر آموزش کامل Web Api2 در MVC با عملیات CRUD

با سلام خدمت تمامی کاربران فکر بکر در این مقاله سعی نمودم تا با ارائه مثال عملی به آموزش کامل Web Api بپردازم. قبل از هرچیز باید ...


اخبار و مقالات در فکر بکر آموزش async - await در یک مثال عملی

در این آموزش قصد داریم نحوه اجرای چندین فرایند با استفاده از برنامه نویسی بصورت Asynchronous را برای شما ارائه دهیم لطفا به ادامه ...


اخبار و مقالات در فکر بکر آموزش استفاده از Grid mvc در Asp.net mvc

در این مقاله به آموزش نمایش داده ها با استفاده از Grid MVC با قابلیت مرتب سازی داده ها خواهیم پرداخت. ...


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

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


اخبار و مقالات در فکر بکر بررسی نکات امنیتی در آپلود تصاویر

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


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

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


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

این روزها استفاده از کامپوننت kendo ui از محصولات شرکت تلریک در میان برنامه نویسان مورد توجه خاصی قرار گرفته است بنابراین تصمیم گ ...


اخبار و مقالات در فکر بکر آموزش اعتبار سنجی غیر همزمان(AsyncValidation) با استفاده از جاوااسکریپت در Asp.net mvc

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


اخبار و مقالات در فکر بکر آموزش Serialize و Deserialize اطلاعات در قالب Json به زبان C#.net

JSON مخفف عبارت «Javascript Object Notation» به معنی «نشان‌گذاری شیء جاوااسکریپت» است. و با استفاده از آن میتوان اطلاعات مورد نظر ...


اخبار و مقالات در فکر بکر آموزش رسم نمودار در Asp.net

عرض سلام خدمت کاربران فکر بکر – قبل از هرچیز بابت تاخیر در ارائه مطالب بخاطر مشغله کاری از شما عزیزان عذر خواهی میکنم.در این آمو ...


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

جهت دریافت سورس زیبای برنامه paint در C# به ادامه مطلب توجه نمایید ...


اخبار و مقالات در فکر بکر حل مساله n وزیر با استفاده از الگوریتم ژنتیک و بصورت گرافیکی

الگوریتم‌های ژنتیک (با نماد اختصاری GA) تکنیک جستجویی در علم رایانه برای یافتن راه‌حل تقریبی برای بهینه‌سازی و مسائل جستجو است. ...


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

با سلام خدمت کاربران فکر بکر - شما در این مقاله نحوه آپلود فایل بصورت ایجکس بهمرا نمایش progresebar را خواهید آموخت . جهت مشاهده ...


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

در این برنامه به حل مساله کتاب جهت ذخیره در فایل متنی با استفاده از کادر محاوره ای savefileDialog می پردازیم . لطفا به ادامه مطل ...


پیوندها
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

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

prErUm

سورس استفاده از کامپوننت 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 -------- آموزش ویرایش مطالب با استفاده از x-editable در Asp.net MVC --------

ابتدای صفحه