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

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


اخبار و مقالات در فکر بکر آموزش ساخت صفحه Page Not Found (404) در Aspnet core

در این بخش به اموزش نحوه مدیریت خطا و هدایت کاربر به صفحه Page Not Found (404) در Aspnet core می پردازیم. یکی از مشکلات مهمی ک ...


اخبار و مقالات در فکر بکر آموزش تحت شبکه کردن برنامه های مبتنی بر c# در sql server

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


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

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


اخبار و مقالات در فکر بکر آموزش پیاده سازی UnitOfWork در Asp.net Core قسمت اول

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


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

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


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

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


اخبار و مقالات در فکر بکر آموزش ایجاد برنامه نصب (setup) قسمت اول

برای ایجاد برنامه نصب روشهای گوناگونی وجود دارد اما من سعی کردم تا یک روش جامع که بتواند تمامی نیازهای برنامه نویسان را مرتفع نما ...


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

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

mU0sbG

نحوه خواندن اطلاعات از فایل 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) -------- آموزش رسم نمودار در Asp.net -------- آموزش ایجاد مگا منو -------- آموزش استفاده از Grid mvc در Asp.net mvc -------- پیاده سازی سیستم احراز هویت کاربران در Asp.net MVC (بخش چهارم) --------

ابتدای صفحه