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

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


مطالب تصادفی
اخبار و مقالات در فکر بکر دانلود کتاب Entity Framework Code First Succinctly

جهت دانلود کتاب به ادامه مطلب توجه نمایید ...


اخبار و مقالات در فکر بکر مروری بر Identity در Asp.net core2.1 (بخش اول)

ASP.NET Core Identity یک سیستم جامع جهت مدیریت کاربران و نقشها و همینطور ورود و خروج در برنامه های ASP.NET Core می باشد. کاربرا ...


اخبار و مقالات در فکر بکر آموزش کار با کوکی ها (Cookie) در Asp.net core

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


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

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


اخبار و مقالات در فکر بکر پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش چهارم)

در این آموزش به پیاده سازی سیستم لاگین کاربران در Asp.net mvc خواهیم پرداخت. نکته ای که در اینجا حائز اهمیت است بدست آوردن نقش ...


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

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


اخبار و مقالات در فکر بکر نتیجه تحقیق جهانی از بیش از 50000 توسعه دهنده برنامه در 173 کشور منتشر شد

به نقل از لنفورماتیسین, Stack Overflow اطلاعات بیش از پنجاه هزار توسعه دهنده برنامه در 173 کشور را گرد اورده و اماری تهیه کرده اس ...


اخبار و مقالات در فکر بکر نحوه ایجاد image checkbox در html css

در این قسمت جهت ایجاد تصاویر با قابلیت checkbox با ما همراه باشید ...


اخبار و مقالات در فکر بکر عملیات crud و WebApi در Asp.net 6

از قبل مقالاتی با این عنوان در فکر بکر قرار گرفته شد اما در این آموزش میخواهیم با آپدیت جدید Asp.net core که آخرین نسخه آن Asp.n ...


اخبار و مقالات در فکر بکر آشنایی با SignalR در Asp.net core

در این آموزش به ساخت یک برنامه real-time با استفاده از SignalR در Asp.net core 2.1 خواهیم پرداخت. ...


اخبار و مقالات در فکر بکر آموزش ارسال ایمیل توسط اکانت گوگل به زبان C#.net

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


اخبار و مقالات در فکر بکر مقایسه واحدهای اندازه گیری rem و em در css

وقتی صحبت از واحدهای اندازه گیری در CSS به میان می آید، ما انتخاب های خوبی داریم. در دنیای امروزی طراحی‌های واکنش‌گرا، واحدهای ن ...


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

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


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

قبل ار اینکه به پیاده سازی CQRS بپردازیم کمی به علت استفاده از آن میپردازیم. هدف از استفاده از الگوی CQRS (Command and Query Re ...


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

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

EO6Ak9

آموزش کار با کوکی ها (Cookie) در Asp.net core -------- آموزش رمزنگاری فایلها در asp.net core -------- مقایسه واحدهای اندازه گیری rem و em در css -------- آشنایی با مفهوم Generic در C#.net -------- نحوه خواندن اطلاعات از فایل appsetting.json در Asp.net Core -------- آموزش استفاده از CQRS و Mediator در Asp.Net Core -------- نحوه ایجاد image checkbox در html css -------- عملیات crud و WebApi در Asp.net 6 -------- آموزش ایجاد custom model binder در Asp.net core -------- آموزش استفاده از Log4net در Asp.net 5 -------- آموزش پیاده سازی UnitOfWork در Asp.net Core قسمت اول -------- پیاده سازی Repository Pattern بصورت Generic Class -------- وارد کردن فقط حروف فارسی و جلوگیری از ورود حروف فارسی در تکست باکس با استفاده از 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) --------

ابتدای صفحه