-
برنامه نویسی تحت شبکه در vb.net
بسم الله الرحمن الرحیم
با سلام خدمت دوستان
بعد از جستجو درباره برنامه نویسی تحت شبکه در اینترنت به این نتیجه رسیدم که یک تایپک ایجاد
کنم و از دوستانی که دارای دانش و تجربه کاری در این ضمینه هستند بخواهم که دانش خود را در
اختیار بنده و امثال بنده قرار دهند
زکات علم ، آموختن است
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
برنامه هایی که در دات نت در شبکه کار میکنند عموماً به تقسیم بندی من، دو گروه هستند.
-اول آنها هستید که یک بانک اطلاعاتی را تحت شبکه مشترکاً استفاده و اپدید میکنند.
این قبیل برنامه ها بسیار ساده تر هستند، و اگر شما به یک سری بازدهید کلی در حالت چند کاربر آنلاین و مشکلات اماکن درج و ویرایش و حذف همزمان در رایانه های دگیر دت کنید و دستورات SQL مناسبی را بنویسید، میتوانید اصل کار ارتباط بین رایانه ها را به SQLServer محول کنید.
یعنی SQLServer به راحتی با یک تغییر در ConnectionString اجازه میدهد به منبعی در آن سوی شبکه و حتی کره زمین وصل شوید.
-دوم برنامه های دیگر هستند که ربطی به SQLServer ندارند، مثل چت ها یا برنامه های انتقال فایل و...
برای این گروه دوم باید مستقیماً به سوکت های ویندوز وصل شد و برنامه نویسی سوکتی کرد.
البته دات نت امکاناتی مثل NetRemoting هم در نظر گرفته، ولی به سرعت و بازدهید کد نویسی مستقیم سوکت نمیرسد.
بد نیست سری هم به این تاپیک بزنید.
barnamenevis.org/showthread.php?t=113361
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
سلام
برنامه هایی که در دات نت در شبکه کار میکنند عموماً به تقسیم بندی من، دو گروه هستند.
-اول آنها هستید که یک بانک اطلاعاتی را تحت شبکه مشترکاً استفاده و اپدید میکنند.
این قبیل برنامه ها بسیار ساده تر هستند، و اگر شما به یک سری بازدهید کلی در حالت چند کاربر آنلاین و مشکلات اماکن درج و ویرایش و حذف همزمان در رایانه های دگیر دت کنید و دستورات SQL مناسبی را بنویسید، میتوانید اصل کار ارتباط بین رایانه ها را به SQLServer محول کنید.
یعنی SQLServer به راحتی با یک تغییر در ConnectionString اجازه میدهد به منبعی در آن سوی شبکه و حتی کره زمین وصل شوید.
میشه در این مورد بیشتر توضیح بدید ؟
من بانکم Access هست ، با اون هم میشه ؟
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
میشه در این مورد بیشتر توضیح بدید ؟
کافیست در SQLServer یک لوگین جدید با user و pass تایین کنید، و ip یا نام دامین سرور را داشته باشید.
بعد حتی اگر سرور در آنسوی کره زمین هم باشد، به راحتی میتوانید با شبکه شدن یا اینترنت،
با اطلاعات سرور مورد نظر کار کنید، خود sqlserver ارتباطات سطح سوکت را مدیریت میکند.
در اصل و از نظر ظاهری در کد شما فقط ConnectiuonString است که اصلاح میشود.
Data Source=192.168.1.10;Initial Catalog=Databasename;Persist Security Info=True;Connect Timeout=45;User ID=Username;Password=Password
البته همانطور که گفتم، باید برخی موارد کارآیی و همزمانی هم دقت کنید، ولی رعایت این اصول در برنامه غیر شبکه ای هم بد نیست.
البته در یک برنامه واقعی شما نیاز به تغییر ConnectionString هم ندارید!
چون احتماً در پنجره "تنظیمات پیشرفته" نرم افزارتان، گزینه تنظیمی برای تغییر و ویرایش ConnectionString و پارامترهای ان برای کاربر تعبیه کرده اید.
نقل قول:
من بانکم Access هست ، با اون هم میشه ؟
متاسفانه access گزینه مناسبی برای کار کرد شبکه ای نیست، در یک شبکه محلی و LAN میشود کارهایی کرد ولی اصولی نیست.
از sqlserver استفاده کنید، به نظر من که خیلی راحت تر و را دست تر است، نسخه Express خیلی سبک و سریع است و برای کارهای کوچک به راحتی جواب دهد.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
نوشته شده توسط
__H2__
سلام
کافیست در SQLServer یک لوگین جدید با user و pass تایین کنید، و ip یا نام دامین سرور را داشته باشید.
بعد حتی اگر سرور در آنسوی کره زمین هم باشد، به راحتی میتوانید با شبکه شدن یا اینترنت،
با اطلاعات سرور مورد نظر کار کنید، خود sqlserver ارتباطات سطح سوکت را مدیریت میکند.
در اصل و از نظر ظاهری در کد شما فقط ConnectiuonString است که اصلاح میشود.
Data Source=192.168.1.10;Initial Catalog=Databasename;Persist Security Info=True;Connect Timeout=45;User ID=Username;Password=Password
البته همانطور که گفتم، باید برخی موارد کارآیی و همزمانی هم دقت کنید، ولی رعایت این اصول در برنامه غیر شبکه ای هم بد نیست.
البته در یک برنامه واقعی شما نیاز به تغییر ConnectionString هم ندارید!
چون احتماً در پنجره "تنظیمات پیشرفته" نرم افزارتان، گزینه تنظیمی برای تغییر و ویرایش ConnectionString و پارامترهای ان برای کاربر تعبیه کرده اید.
متاسفانه access گزینه مناسبی برای کار کرد شبکه ای نیست، در یک شبکه محلی و LAN میشود کارهایی کرد ولی اصولی نیست.
از sqlserver استفاده کنید، به نظر من که خیلی راحت تر و را دست تر است، نسخه Express خیلی سبک و سریع است و برای کارهای کوچک به راحتی جواب دهد.
میشه یه مثال روی این ConnectionString که دادم پیاده کنی (همون IP دادن و ... ) ؟
SqlConnection1.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Customers.mdf;Integrated Security=True;User Instance=True"
ممنون
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
من یه نرم افزاری دیدم ( نرم افزار حسابداری ) که همه بر روی سرور نصب می شود و هم روی کلاینت
که می توانست کاربر کلاینت اطلاعات را در کامپیوتر خود ذخیره کند و سرور می توانست تغییرات را
ببیند ( مثل اینکه دیتابیسش یکی بود !! ) و همه کارهای در سطح کلاینت را نیز انجام دهد
آیا باید دو تا کانکشن داشته باشیم یکی برای سرور و یکی برای دیتابیس آیا راه دیگه ی دارد ؟
لطفا توضیح بدهید ( ممنون )
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
میشه یه مثال روی این ConnectionString که دادم پیاده کنی (همون IP دادن و ... ) ؟
این Connection شما اصلاً جزء ذات sqlserver نبوده و نیست و فقط و فقط و فقط نگارش رایگان express از ان پشتیبانی میکند.
شما باید دیتابیس را attach کنید. تمام امکانات امنیتی و شبکه ای هم فقط روی دیتابیس های attach شده کار میکند.
این روش connectionstring فقط برای برنامه های ساده و غیر شبکه ای و تک کاربره با نسخه express قابل استفاده است و کار را مثل استفاده از بانک های access ساده میکند.
تاکید میکنم، دیتابیس شما باید attach شود، چیزی که همه نسخه های کوچک و بزرگ sqlserver آن را دارند.
نقل قول:
آیا باید دو تا کانکشن داشته باشیم یکی برای سرور و یکی برای دیتابیس آیا راه دیگه ی دارد
هیچ فرقی ندارد، میتواند با connectionstring دیگری وصل شود ولی لزومی به تفاوت و پارتی بازی نیست.
جایی connectionstring را تغییر میدهد که بخواهید یکی از سه پارامتر اصلی را عوض کنید. server یا database یا جفت user و pass
در اصل در تئوری sqlserver شما اصلاً نباید بدانید فایلهای اصلی کجا هستند، شما فقط به نرم افزار sqlserver وصل شوید.
امکان دارد یک دیتابیس بسیار بزرگ شود، طوری که دیتا ها روی یک هارد و یک رایانه جا نشود.
پس تکلیف چیست؟
(منظورم این نیست که حتماً این اتفاق می افتد، میخواهم متوجه تفکر پشت sqlserver شوید.)
جواب ساده است، به ما ربطی ندارد! مدیریت فایلها و مکان ها و... به عهده sqlserver است، شما باید به sqlserver وصل شوید نه فایلها! پس اصلاً اهمیتی ندارد فایلها در همین رایانه است که برنامه در ان اجرا میشود یا در چند رایانه در نقاط مختلف پخش شده.
شما ip اتصال به sqlserver و user و pass با اجازه نامه و اعتبارنامه های لازم برای اتصال به دیتابیس مشخصی را دارید، فقط همین اهمیت دارد.
امیدوارم متوجه اصل مطلب و کلام و تفکر در محیط sqlserver شده باشید.
Data Source=192.168.1.10;Initial Catalog=Databasename;Persist Security Info=True;Connect Timeout=45;User ID=Username;Password=Password
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
ممنون . من از نسخه ای که خود ویژوال استدیو ارائه کرده استفاده کردم .
باید چه نرم افزاری رو تهیه کنم ؟
چه ورژن و چه نسخه ای ؟
نام نرم افزار چه هست ؟
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
من از نسخه ای که خود ویژوال استدیو ارائه کرده استفاده کردم ...
اون نسخه Express است، نسخه مجانی و پایین ترین نسخه.
ولی اصلاً نگران نباشید، همین Express هم بسیار عالی است.
من اصولاً ادم سخت گیری هستم و به این راحتی ها راضی نمیشوم ولی با ضعیف ترین نسخه sqlserver هیچ مشکلی ندارم.
تا وقتی رایانه هایی که همزمان قصد اتصال دارند، تعدادشان معقول و حجم دیتابیستان زیر 4G است با نسخه express مشکل نخواهید داشت.
نکته مثبت هم انجا است که هر وقت دیتابیس بزرگ شد یا شبکه به طرز وحشتناکی گسترش یافت، بدون کمترین مشکلی میتوانید نسخه های بالاتر sqlserver را نصب کنید و دیتابیس را به این نسخه های جدید attach کنید.
(
البته یک سری امکانات پیشرفته را هم ساپورت نمیکند، ولی اگر نیاز به ان امکانات هم شد، میتوان باز نسخه های تکمیلی مجانی را برایش دانلود کرد یا نسخه بالاتر را خریداری و نصب کرد.
)
در کل برای پروژه های متوسط و کوچک بد نیست.
نقل قول:
باید چه نرم افزاری رو تهیه کنم ؟
چه ورژن و چه نسخه ای ؟
نام نرم افزار چه هست ؟
اگر به فرامین t-sql مسلط باشید، هیچ چیز را نمیخواهد تهیه کنید.!!!!
شما فقط نیاز به یک نسخه sqlserver دارید، چه Express یا Standard یا Workgroup یا Developer یا Enterprise.
(
البته در لفظ یک نسخه با نام Compact هم وجود دارد، ولی من که به شخصه ان را sqlserver حساب نمیکنم، مایکروسافت و دیگران هر چه میخواهند بگویند!
بیشتر شبیه access است، حتی برای اتصال به این نسخه باید کدهای خودتان را هم تغییر دهید و provider را عوض کنید.
کلاً فراموشش کنید.
)
اگر به دستورات t-sql زیاد مسلط نیستید و میخواهید دیتابیس و لوگین و اجازه نامه ها و رمزهای عبور و... و... و... را با کلیک های ماوس تنظیم کنید میتوانید برنامه کمکی Microsoft SQL Server Management Studio را تهیه کنید.
نسخه رایگان Express-2005-Sp2 را میتوانید از زیر دانلود کنید
http://www.microsoft.com/downloads/d...displaylang=en
لازم به توضیح است که اگر CD های نسخه های بالاتر sqlserver را تهیه کنید، ابزار کمکی فوق در آنها هم موجود است.
البته نسخه 2008 هم چند روزی است عرضه شده و فعلاً فقط نسخه 180 روزه آن قابل دانلود است.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
الان یک چرخی در سایت مایکروسافت زدم و متوجه شدن نسخه express2008 هم برای دانلود عرضه شده.
http://www.microsoft.com/downloads/d...DisplayLang=en
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
ممنون از توجه تان ----- پس اگه همین نسخه ای که در VS هستش خوبه ، پس چرا گفتید برای کانکشن استرینگی که دادم نمیشه تحت شبکه کار کرد و مثالی نزدید ؟
من یه نرم افزار دارم ، اینه :
EMS MySQL Manager Professional 1.6.5
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
اون ConnectionString ای که شما نوشته بودید، نوع غیر attach شده بود.
شما باید دیتابیس را attach کنید و بعد از آن ConnectionString که نوشته بودم (یا چیزی مشابه ان استفاده کنید)
یعنی با نسخه express هم میتوان اینکار را کرد و بدون attach نمیتوان.
اگر با attach مشکل دارید، آن مشکلی جدا است و قابل رفع است.
اون نرم افزار هم که گفتید همانطور که از نامش مشخص است مخصوص MySQL است نه SQLServer.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
اگر با attach مشکل دارید، آن مشکلی جدا است و قابل رفع است.
میشه کمی توضیح بدید چه جوری میشه attach کرد ؟
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
برای attach هم یک سری به تاپیک همچنان فعال زیر بزنید.
barnamenevis.org/showthread.php?t=115957
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
اتفاقا خودم از اون موقعی که گفتید (attach) به این تایپیک رفتم .
می خواستم بدونم میشه بصورت اتوماتیک این کار رو کرد . یعنی با نصب نسخه Standard و یا هر چیز دیگه ، خودش این کار رو بکنه ؟
می خواهم از نسخه Express استفاده نکنم ، نسخه چی بخرم ؟
تو همون تایپیک ، اولین پستی که زدید ، من کجا باید اون کد رو وارد کنم ؟
ممنون
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
حالا فرض كنيم كسي حتما بايد با برنامه access نرم افزارش را تحت شبكه كند.مي خواستم اگه راهنماييم كنيد ممنون ميشم.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
نوشته شده توسط
arsalansalar
حالا فرض كنيم كسي حتما بايد با برنامه access نرم افزارش را تحت شبكه كند.مي خواستم اگه راهنماييم كنيد ممنون ميشم.
تنها راهت ODBC هستش. به غیر از اون فکر نکنم امکانش وجود داشته باشه
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
حالا فرض كنيم كسي حتما بايد با برنامه access نرم افزارش را تحت شبكه كند.مي خواستم اگه راهنماييم كنيد ممنون ميشم.
من هم اول همین فکر رو کردم .... ولی وقتی SQL رو دیدم پشیمون شدم .. SQLserver خیلی باهاله
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
تو همون تایپیک ، اولین پستی که زدید ، من کجا باید اون کد رو وارد کنم ؟
می خواستم بدونم میشه بصورت اتوماتیک این کار رو کرد . یعنی با نصب نسخه Standard و یا هر چیز دیگه ، خودش این کار رو بکنه ؟
اگر پست 12 همان تاپیک را دیده باشید، من یک نمونه برنامه گذاشته ام که عمل فوق را انجام میدهد، گرچه دوستمان جناب bahar2008 گفتند که کار نکرده ولی در تالار دیگری هم مشکل دوستان حل کرد.
شما هم دانلود کنید و تستی کنید، کدش هم که موجود است، پس نباید جای ابهامی بماند.
فقط کافیست کد را در محل مناسبی از برنامه خودتان استفاده کنید.
https://barnamenevis.org/showth...986#post573986
نقل قول:
می خواهم از نسخه Express استفاده نکنم ، نسخه چی بخرم ؟
تا جایی که من میدانم پنج نسخه اصلی وجود دارد
Express
Standard
Workgroup
Developer
Enterprise
نسخه express مجانی و سبک ترین عضو گروه است
نسخه developer هم نسخه خوب و جامعی است که خودم هم دارم و مخصوص توسعه دهندگان نرم افزارها است.
نسخه Enterprise هم نسخه صنعتی است و سنگین ترین و خفن ترین عضو گروه است.
باید توجه داشت که لزوماً نسخه مثل Enterprise شاید تحت نیاز شما و سیستم شما بهتر از نسخه پایین تر عمل نکند.
نسخه پیشرفته تر و کاملتری که برای مدیریت connection ها و تراکنش ها زیادی طراحی شده یقیناً مصرف RAM و CPU بالاتری دارد و از زمان راه اندازی منابع بیشتری را مصرف میکند تا در اوج ارتباط و پردازش مجبور نباشد مدام منابع را کم و زیاد کند و باعث کاهش سرعت شود.
شما باید نیاز خود را شناسایی کنید و با توجه به ان انتخاب کنید.
چند pc؟ چند کاربر انلاین؟ چند گیگ اطلاعات؟ چقدر ترافیک؟
لینک های زیر شاید بتواند شما را در انتخاب بهتر یاری کند.
www.microsoft.com/sql/editions/default.mspx
technet.microsoft.com/en-us/library/ms143761.aspx
www.microsoft.com/sql/prodinfo/features/compare-features.mspx
فکر کنم به عنوان انتخاب بعد از express نسخه standard بد نباشد.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
چگونه ip سروری را پیدا کنم که برنامه قرار است بر روی آن نصب بشود
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
یعنی چی؟؟؟ CD را در سرور بگذارید و چندتا Next ناقابل بزنید تا نصب شود!
نقل قول:
چگونه ip سروری را پیدا کنم که برنامه قرار است بر روی آن نصب بشود
معمولاً در یک شبکه محلی که برای یک شرکت، موسسه یا نهاد و... راه اندازی میشود خودتان دستی ip ها را برای سرور ست میکنید.
پس بدیهی است که آنها را میدانید.
Vista
ControlPanel->Network And Sharing Center->Manage Network Connections->Local Area Connection->RightClick->Properties->TCP/IPv4
XP
ControlPanel->Network Connections->Local Area Connection->RightClick->Properties->TCP/IP
میتوان از آیکون شبکه کوچک کنار ساعت هم استفاده کرد و یا برای ip متناظر نام از ping استفاده کرد و...
در کل اگر شرایط طوری است که نمیتوان به ثبات ip اطمینان داشت میتوانید از نام رایانه استفاده کنید.
Vista
ControlPanel->System->Advanced System Settings->Computer Name
Xp
ControlPanel->System->Computer Name
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
تا اینجا که درسته !!!!!
پس این گفته شما چی ؟
نقل قول:
باید توجه داشت که لزوماً نسخه مثل Enterprise شاید تحت نیاز شما و سیستم شما بهتر از نسخه پایین تر عمل نکند.
نسخه پیشرفته تر و کاملتری که برای مدیریت connection ها و تراکنش ها زیادی طراحی شده یقیناً مصرف RAM و CPU بالاتری دارد و از زمان راه اندازی منابع بیشتری را مصرف میکند تا در اوج ارتباط و پردازش مجبور نباشد مدام منابع را کم و زیاد کند و باعث کاهش سرعت شود.
برم پسش بدم ؟
چون موقع نصب میگه باید VS 2008 SP1 داشته باشی و من SP1 رو ندارم .
برم با 2005 عوضش کنم .... با هم چقدر فرق دارن ؟
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
به نظر من که باید 2008 بهتر از 2005 باشد، کارایی و امکانات بالاتر و سرعت بیشتر.
نقل قول:
چون موقع نصب میگه باید VS 2008 SP1 داشته باشی و من SP1 رو ندارم .
درسته. این لینک دانلود SP1 است.
http://www.microsoft.com/downloads/d...displaylang=en
نقل قول:
با هم چقدر فرق دارن ؟
متاسفانه من هنوز اطلاعات کاملی در مورد نسخه 2008 ندارم و در این مورد نمیتوانم کمکتان کنم.
پیشنهاد میکنم به خود سایت مایکروسافت مراجعه کنید.
نسخه express را دانلود کردم، ولی خرید یک نسخه کامل را به هفته های آینده موکول کرده ام.
مهمترین امکان کاربردی که تا این لحظه میدانم اضافه شده، پشتیبانی فارسی برای collation است.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
آقا در مورد برنامه نویسی سوکتی بیشتر توضیح میدی که اصلا چی همون کار با پورتهای TCP/IP هستش یا چیز دیگه ای؟؟؟؟؟
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
نوشته شده توسط
spanishtrain
آقا در مورد برنامه نویسی سوکتی بیشتر توضیح میدی که اصلا چی همون کار با پورتهای TCP/IP هستش یا چیز دیگه ای؟؟؟؟؟
سوال من هم هست مثل همیشه لطفا بیشتر توضیح بدهید
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
آقا در مورد برنامه نویسی سوکتی بیشتر توضیح میدی که اصلا چی همون کار با پورتهای TCP/IP هستش یا چیز دیگه ای؟؟؟؟؟
سوکت مثل یک ترمینال است، یک پایانه ورودی و خروجی اطلاعات.
میتوان انواع و اقسام بلوک های بایتی اطلاعات را به وسیله سوکت رد و بدل کرد.
حال اینکه چگونه و با چه فرمت و قالب و استاندارد همگانی تعریف شده ای اطلاعات را بین سوکت ها رد و بدل کنیم، میشود پروتکل.
TCP/IP یکی از پروتکل های تحت شبکه و کار با سوکت ها است.
این پروتکل اتصال گرا است و اطمینان از دست نرفتن اطلاعات در آن زیاد است و پروتوکل استاندارد وب هم شده.
شاید بتوان TCP را معروف ترین و پرکاربرد ترین پروتکل به حساب آورد
خود SQLServer هم از همین TCP استفاده میکند و خیلی دیگر از برنامه های شبکه ای هم تحت TCP کار میکنند.
دات نت هم امکانات وسیعی برای کار تحت TCP دارد.
در مورد کلاسهای مهم زیری ترین لایه و متدهای اصلی و مهمشان، من بسیار بسیار بسیار مختصر در تاپیک زیر توضیحاتی داده ام.
یک نگاهی بیاندازید از هیچی بهتر است.
forum.p30world.com/showthread.php?t=231073&page=2
متاسفانه وقت تاپیک اموزشی و چندین صفحه شرح و توضیح ندارم، ولی اگر مطالب فوق را خواندید و سوالی داشتید، همین جا بپرسید، سعی میکنم سوالات را کوتاه جواب دهم.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام دوست عزیز
اگر می شود چندتا منبع یا ebook درباره برنامه نویسی تحت شبکه معرفی کنید
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نکنه منبع ای برای برنامه نویسی تحت شبکه در اینترنت وجود ندارد و ما بی خبریم
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام.
یه کتاب برای Net Remotting. هست که خود از انتشاراته MMpress هست!خود مدیر بخش توسعه ماکروسافت نوشتش!البته چند نفر دیگه ای هم هستند.
کتابش زبون اصلی و فوق الاده بد نوشته شده و میشه گفت بهترین منبع برای Souket و TCP/IP هست!
کتاب حجمش بالاست من گذاشتم upload بشه.تموم که شد لینکشو میزارم!
من خودم 3 ماه تول کسشد تا بتونم تمومش کنم!نوشتارش مزخرفه ولی سورس کد هاش عالیه!
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
ممنون از زحمت ی که دارید می کشید امیدوارم موفق باشید
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
نکنه منبع ای برای برنامه نویسی تحت شبکه در اینترنت وجود ندارد و ما بی خبریم
اگر یک کم زبانتان را قوی کنید یا از یک دیکشنری استفاده کنید، به نظر من MSDN خوب است و اغلب کافی است.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
پر روی است ولی اگر میشه لینکی از MSDN بگذارید تا ما برای انگلیسی دست پا شکست همان یه فکری بکنیم
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
معمولاً این برنامه حجیم را همراه VS خرید و فروش میکنند، شما اگر یک DVD مناسب از VS2008 در ایران بخرید، به احتمال خیلی زیاد MSDN هم دارد.
البته نمونه انلاین هم دارد.
msdn.microsoft.com
مثلاً لینک ریشه اطلاعات در مورد کلاسس System.Net.Sockets.Socket این است: (به الگوی درختی سمت چپ دقت کنید.)
msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx
msdn برای هر کلاس و ساختاری در دات نت، حداقل یک توضیح مختصر دارد.
در آخر لازم به ذکر است که msdn در توضیح اطلاعات Windows و VS و...، بالاترین درجه مرجعیت را دارد.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
نوشته شده توسط
vb_bmw
سلام.
یه کتاب برای Net Remotting. هست که خود از انتشاراته MMpress هست!خود مدیر بخش توسعه ماکروسافت نوشتش!البته چند نفر دیگه ای هم هستند.
کتابش زبون اصلی و فوق الاده بد نوشته شده و میشه گفت بهترین منبع برای Souket و TCP/IP هست!
کتاب حجمش بالاست من گذاشتم upload بشه.تموم که شد لینکشو میزارم!
من خودم 3 ماه تول کسشد تا بتونم تمومش کنم!نوشتارش مزخرفه ولی سورس کد هاش عالیه!
دوست گرامی چی شد ؟ یادتون رفت اگر ممکنه upload کنید که من خیلی بهش نیاز دارم
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام دوست عزیز
ممنون از لینک MSDN ، ولی هیچی سر در نیاوردم ( هر چی بیشتر خواندم کمتر فهمیدم)
اگر میشه یه کتاب فارسی یا منبع فارسی یا انگلیسی روان معرفی کنید شرمنده
من خیلی دنبال کشتم ولی مثل اینک چاره دیگه ای نیست جز اینک مزاحم شما بشم
بازم ممنون
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
اگر بتوانید خودتان را با MSDN مچ کنید و از توضیحات و کدهای نمونه آن استفاده کنید، خیلی خوب و موثر است و شما را به نوعی بی نیاز میکند.
اما در ضمینه کتاب، من به شخصه فقط یک کتاب قدیم را دیدم که در خصوص سوکت هم صحبت هایی کرده بود و مثالهایی اورده بود که البته نسخه مورد بحث Framework1.0 بوده (یعنی قبل از نسخه رسمی VS2003! یک چیز تو مایه های بدو تولید دات نت!) البته مطالب چندان تفاوتی نکرده.
کتاب از دیباگران بوده و نامش هم "برنامه نویسی شبکه در دات نت" بوده است.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
دوست گرامی آیا از برنامه نویسی تحت شبکه به غیر از چت استفاده دیگری می شود لطفا توضیح دهید
ممنون می شوم
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
چت فقط یک نمونه است، نمونه ای شاید خیلی ملموس تر باشد.
هر کجا که شما بخواهید دو برنامه در دو رایانه مختلف با هم ارتباط داشته باشند، در اصل نوعی جریان برنامه نویسی شبکه و سوکت در بین است.
رایانه های امروزی دیکر تک و تنها نیستند و استفاده نمیشوند.
- همین اینترنت نمونه عظیمی از برنامه نویسی تحت شبکه شده است. http و ftp و smtp و...
- بالاخره برنامه های بانک های اطلاعاتی مشترک هم نوعی برنامه نویسی شبکه است، گرچه یک موتور دیتابیس رابطه ای مثل SQLServer ظاهراّ ما را از کد نویسی شبکه راحت میکند.
چه برنامه هایی که در یک ساختمان استفاده میشوند چه برنامه های با وسعت بیشتر.
- دنیای بازی را هم نباید فراموش کرد، برنامه نویسی بازی ها و تجارت بازی های رایانه ای بعد از مواد مخدر و تجارت اصلحه و چند تجارت تابلو دیگر، جزء صدر جدول نقل و انتقالات پولی دنیا است.
اغلب بازی های امروزی هم چه تحت کنسول خودشان و چه تحت PC قابلیت شبکه شدن و بازی گروهی دارند.
نمونه بارز آن هم همین بازی های سبک استراتژیک که با همکاری گروهی قابل انجام است و حتی بالای 10 PC هم این بازی ها واقعاً معنی میدهد.
- یا برنامه های مدیریت کافی نت ها و امسال این ها... که رایانه مرکزی میتوانید بقیه رایانه ها را کنترلر کند.
یک چیزی شبیه RemoteDesktop مایکروسافت ولی در بعدی دیگر.
بحث فقط سر چت نیست.
موفق باشید.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
من تصمیم گرفتم برنامه نویسی socket را شروع کنم منبع درست حسابی پیدا نکردم ولی یه چیزهای از لینک
MSDN شما گرفتم هنوز هم فرصت نکردم تا کتابی که شما معرفی کردید را بخرم
یه سوالی داشتم در مورد این کد
Dim socket As Socket
socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
میشه کلش را توضیح بدهید
یه پشنهاده داشتم اونم اینک بیاید و یک مقاله در مورد برنامه نویسی socket بنویسید
این کار شما دو مزیت خواهد داشت اول اینکه این مقاله شما منبع ای برای برنامه نویسی socket به زبان فارسی می
شود دوم من هم از این بلاتکلیفی در می آییم ( و البته امثالی مثل من)
این حرف من فقط و فقط جنبه پیشنهادی دارد و بس
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
شاید این حرف من جواب نداشته باشد
نقل قول:
نوشته شده توسط
jas1387
یه پشنهاده داشتم اونم اینک بیاید و یک مقاله در مورد برنامه نویسی socket بنویسید
این کار شما دو مزیت خواهد داشت اول اینکه این مقاله شما منبع ای برای برنامه نویسی socket به زبان فارسی می
شود دوم من هم از این بلاتکلیفی در می آییم ( و البته امثالی مثل من)
این حرف من فقط و فقط جنبه پیشنهادی دارد و بس
ولی فکر کنم که این یکی یه جوابی دارد
نقل قول:
نوشته شده توسط
jas1387
یه سوالی داشتم در مورد این کد
Dim socket As Socket
socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
میشه کلش را توضیح بدهید
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
ولی فکر کنم که این یکی یه جوابی دارد
دوست من چقدر عجله دارید، کی گفت جواب نداره؟ :لبخندساده:
این دستور فقط یک شی سوکت جدید میسازد،
که سه پارامتر میگیرد:
addressFamily As System.Net.Sockets.AddressFamily
socketType As System.Net.Sockets.SocketType
protocolType As System.Net.Sockets.ProtocolType
-پارامتر اول ساختار و نوع IP را مشخص میکنید که پرکاربرد ترین گزینه ها InterNetwork برای IPv4 و InterNetworkV6 برای IPv6 است.
(ورژن 4 قدیمی یک عدد 32 بیتی است که برای تعداد رایانه های امروزی دارد کم می آورد! ورژن 6 یک عدد 128 بیتی است که طبیعتاً 2 به توان 96 بار بزرگتر است)
-پارامتر دوم نوع رد و بدل شدن و انتقال دیتا ها را توسط سوکت مشخص میکند. که پرکاربرد ترین آن Stream است که یک زنجیره اطلاعات را مشخص میکند.
احتمالاً باید بدانید Stream به چه مفهوم است، یک قطار دیتا، مثل نوارنقاله یک کارخانه که بسته های کالا رویش حرکت میکند.
به ذات بسته ها تکرار نمیشوند و قابلیت دسترسی به هر نقطه را ندارید، یک چیزی شبیه دانلود، که بایت به بایت را میگیرد و در هارد ذخیره میکنید.
-پارامتر سوم و اخر هم پروتکل کاری را ست میکند، یک لایه استاندارد بالاتر.
پرکاربرترین گزینه ها هم Tcp و Udp هستند، TCP/IP معروف ترین و پرکاربردترین پروتکل شکه است که اتصال گرا است و یک تضمینی روی اتصال ایمن و رسیدن بسته ها در صورت خطا هم دارد.
==============
سوکت را که ساختید میتوانید از متدهایش استفاده کنید.
شاید معروفترین متد Bind باشد که سوکت را به یک IP و Port خاص وصل میکند.
متدهای Listen و Accept و Send و Receive و Close و BeginXXXX و... هم با توجه به شرایط و نیاز استفاده میشوند.
نقل قول:
یه پشنهاده داشتم اونم اینک بیاید و یک مقاله در مورد برنامه نویسی socket بنویسید
بدون شک پیشنهاد خوب و موثری است.
ولی شرمنده ام که متاسفانه بعد میدانم که وقت کنم، خیلی هنر کنم این است که بتوانم به این تالار و دو سه تا دیگه سر بزنم و اگر سوادم اجازه داد و شرایط مناسب بود، یک کمکی به دوستان بکنم.
شاید دوستان و همکاران و اساتید دیگر بتوانند کاری انجام دهندف وقت نکرده ام ببینم، ولی یک سری به بخش مقالات و شبکه همین سایت بزنید، شاید چیزی باشد.
البته سوالات این تیپی که بتوان در چند خط جواب داد را در خدمت هستم.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
نوشته شده توسط
__H2__
ولی شرمنده ام که متاسفانه بعد میدانم که وقت کنم
حق با شما است توقع بیجای کردم
نقل قول:
نوشته شده توسط
__H2__
شاید دوستان و همکاران و اساتید دیگر بتوانند کاری انجام دهند
این مورد را بعید می دانم
نقل قول:
نوشته شده توسط
__H2__
سری به بخش مقالات و شبکه همین سایت بزنید، شاید چیزی باشد.
یه سری قبلا زدم ولی متاسفانه چیزی پیدا نکردم
نقل قول:
نوشته شده توسط
__H2__
البته سوالات این تیپی که بتوان در چند خط جواب داد را در خدمت هستم.
بزرگوار هستید
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
از محبت های شما سپاسگزارم
برای وصل شدن به سرور بهIP و port نیاز است ( طبق گفته های شما )
socket.Bind(پورت و آی پی)
اگر می شود درباره این کدها نیز توضیح بدهید
Dim ip As IPAddress = IPAddress.Parse("127.0.0.1")
به غیر از IPAddress.Parse
IPAddress.Any،IPAddress.BroadcastوIPAddress.Loopback نیز دارد لطفا در مورد هر کدام توضیح
مختصر و مفیدی بدهید( ممنون می شوم )
فکر کنم باید به IP، IPAddress.Parse کامپیوتر سرور را بدهیم درسته ؟
خبه ولی این که آدرس کامپیوتر سرور نیست
Dim ip As IPAddress = IPAddress.Parse("127.0.0.1")
بعد ازIP به Port نیاز داریم
Dim ipep As New IPEndPoint(ip, 5050)
آیا این کد یک port را تعریف می کند ؟ ( لطفا توضیح دهید)
(IPEndPoint(ip, 5050 ، آیا 5050 شماره پورت است اگر هست فقط از این شماره استفاده می
شود یا می توان از شماره پورت های دیگر استفاده کرد ، راستی چرا نیاز به پورت داریم مگر آی پی به
تنهایی کافی نیست
socket.Bind(ipep)
ببخشید که وقتتون را گرفتم اگر وقت ندارید لازم نیست همه سوالات را یک دفعه جواب بدهید
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
چرا نیاز به پورت داریم مگر آی پی به تنهایی کافی نیست
نه کافی نیست.
اول این را مشخص کنم که کامپیوتر شما میتواند بیش از یک IP داشته باشد، چون میتوانید بیش از یک کارت شبکه داشته باشید.
همانطور که خودتان هم میدانید، IP نشانی و آدرس پستی رایانه شما در شبکه است. که مشخص میکند بسته اطلاعات باید تحویل چه رایانه ای شود.
Port به نوعی میتوان گفت کد پستی برنامه داخل رایانه شما است!
شما در یک لحظه میتوانید در حال چک کردن ایمیلتان در برنامه ای باشید، میتوانید با IE یک صفحه وب را ببینید یا به ftp وصل شده باشید و تازه یک برنامه چت هم باز باشد و SQLServer هم در گوشه ای کار خودش را کند ... !
(چه شود! آش شبکه ای!)
در این گیروداد و با یک IP مشخص چگونه اطلاعات تفکیک میشوند و به برنامه مناسب میرسند؟
==============
اعداد پورت های زیر 1024 برای استانداردهای خاصی رزو شده اند
مثلاً
21-FTP control
20-FTP data
80-HTTP
443-HTTPS
135-RPC
53-DNS
143-IMAP
993-IMAP SSL
110-POP3
995-POP3 SSL
135-RPC
23-Telnet
25-SMTP
1433-SQLServer
اگر برایتان نام پورتهای مهم جالب است، سری به این لینک بزنید
http://www.microsoft.com/resources/d....mspx?mfr=true
یا
http://www.iana.org/assignments/port-numbers
این رزو به معنای این نیست که شما نمیتوانید به انها وصل شوید و استفاده کنید، بلکه یک استاندارد جهانی است
همه انتظار دارند یک سوکت سرور روی پورت 80 خدمات HTTP بدهد نه اینکه سیب زمینی بفروشد!
شما میتوانید از هر پورتی که خالی باشد و برنامه دیگری از آن استفاده نکند، استفاده کنید، برای کارهای خودتان و خارج از چارت پروتکلهای پایه شبکه، بهتر است اعداد بالای 1024 را انتخاب کنید، مثل همان 5050.
==============
برخی اعداد IP ، انحصاری هستند و معنی خاصی دارند
مثلاً
ip4-127.0.0.1 برابر ip6-::1 معروف به loopback همواره به رایانه جاری اشاره میکنند.
(پس هر رایانه حداقل یک ip دارد، حتی بدون کارت شبکه.)
یا
ip4-255.255.255.255 معروف به broadcast آدرسی است که اگر چیزی به آن ارسال شود، همه رایانه ها در شبکه آن دیتا را دریافت میکنند.(ip6 دیگر این را ساپورت نمیکند)
یا
ip4-0.0.0.0 برابر ip6-:: معروف به widcard یا any معرف هر آدرس و هر رابطی است.
و...
==============
حالا میرسیم به IPAddress و IPEndPoint
اینها هیچ پویایی ندارند، فقط یک مخزن ساده هستند مثل ساختار Integer یا Long .
UInteger یک عدد 32 بیتی بدون علامت را نگه میدارد.
String یک متن
IPAddress یک IP را نگه میدارد.
IPEndPoint هم یک IPAddress و یک Integer برای معرفی Port را نگاه میدارد.
متد Parse هم در ساختارهای دات نت عموماً وظیفه تبدیل از String را بر عهده دارد.
مثلاً ورودی که از یک TextBox گرفته شده.
حتی Integer هم متد Parse دارد.
==============
متد Bind که از شما IPEndPoint را میگرید (IP+Port) و میتوانید به یک سوکت وصل شوید.
این سوکت میتواند هر کجا باشد، رایانه خودتان، یا رایانه شبکه، این سر دنیا یا ...
حتماً نباید به سرور وصل شوید! شاید سرور خود شما باشید!
متوجه میشوید؟ یعنی شاید خود شما پورتی را در رایانه خودتان میخواهید باز کنید تا به دیگر رایانه های شبکه سرویسی را ارائه دهید.
اصلاً میتوان در یک رایانه واحد روی یک پورت خاص هم سرور بود و هم کلاینت.
یعنی هم برای خود سرور بود و هم برای دیگران!
یعنی برنامه A در رایانه خود شما که اصلاً کارت شبکه هم ندارد، پورتی را تحت tcp باز میکند و به درخواستهایش پاسخ میدهد
و برنامه B در رایانه خودتان می تواند همان پورت را برای خدمات گیری باز کند و شروع به انتقال دیتا با برنامه A کند.
در یک رایانه واحد و بدون کارت شبکه! چون آدرس loopback را داریم.
البته پروتکلهای اتصال گرایی مثل tcp در هر لحظه فقط و فقط به یک برنامه اجازه میدهند یک پورت را برای سرور بودن و پذیرش درخواستها باز کند.
یعنی در همین مثال فوق:
اگر شما نمونه جدیدی از A را باز کنید تا دو تا شوند، برنامه دوم به خطا میخورد.
ولی اگر 10 تای دیگر از B را باز کنید، مشکلی پیش نمی آید.
واضح است، سرور ثابت است و کلاینت ها خیلی زیاد و خیلی پخش.
پس برای تست کدها و دیدن نتایج حتماً لازم نیست در شبکه ای با چند رایانه باشید.
دلیل اینکه در مثالها این همه آدرس loopback را می بینید برای همین است.
که مثال مربوطه به راحتی در یک رایانه واحد اجرا و تست شود و نتیجه مشاهده شود.
==============
فکر کنم همه سوالات را در متن پاسخ داده ام.
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
نوشته شده توسط
__H2__
فکر کنم همه سوالات را در متن پاسخ داده ام.
حاجی سایت برنامه نویس را ترکوندیدها..
خوش بحال اقای کرامتی و اقایون کرامتی ها...
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
با سلام آقاي H2 واقعا از توضيحاتتون تشكر مي كنم و از شما خواهش مي كنم كه اين تاپيك را فعال نگه داريد چرا كه عده اي مثل من واقعا به اين اطلاعات نياز داريم.باز هم از تمامي زحماتي كه براي اين سايت مي كشيد تشكر مي كنم :تشویق::تشویق:
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
از توجه شما بسیار ممنونم
Dim ip As IPAddress = IPAddress.Parse("127.0.0.1")
Dim ipep As New IPEndPoint(ip, 5050)
Dim socket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
socket.Bind(ipep)
ببخشید فرق Bind و connect در چه چیزی است ؟
آیا برای فرستادن پیغام کد زیر کافی است ؟ یا نیز به تنضیمات بیشتر دارد.
Dim context As String = "welcome"
Dim t() As Byte
t = Encoding.ASCII.GetBytes(context)
socket.Send(t)
ببخشید این کدهای بالا برای کلاینت است . درسته ؟ ( که آدرس سرور و یه پورت را تعیین می کنیم و
به وسیله socket به آن وصل می شویم ) اگر هست کد سرور باید چگونه باشد تا بتواند پیغام کلاینت
را بگیرد
اگر می تواند به صورت مختصر درباره الگریتم سرور و کلاینت توضیح بدهید( من دارم گیج می شم)
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام به آقاي _H2_
ميگم برا اينکه همه از اين اطلاعات استفاده کنند و يه مقدار نظم بيشتري بگيره يه تاپيک به نام آموزش Socket ايجاد کنيد و از ابتدا شروع کنيد (ميدونم اينجا خيلي از مسائل پايه ايي رو گفتيد ) ولي نظم و پي در پي بودن مطالب و چند تا مثال به بهره وري بيشتر کمک ميکنه ، در ضمن اگه شما لطف کردين و زحمت اين کارو کشيدين از آقاي مداح هم خواهش ميکنم که اون تاپيک رو اعلان کنه ، که بعد چند وقت به فراموشي سپرده نشه
در هر صورت ممنون
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
چگونه محتویات داخل یک فایل از نوع ورد (متن داخل ورد) در یک تکست باکس قرار دهم
-
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
حاجی سایت برنامه نویس را ترکوندیدها..
خوش بحال اقای کرامتی و اقایون کرامتی ها...
فرمایشاتی میفرمایید دوست من، شوخی ...
نقل قول:
..مقدار نظم بيشتري بگيره يه تاپيک به نام آموزش Socket ايجاد کنيد ..
نمیدانم...
انگار تاپیک داره به سمت توضیح بیشتر پیش میره و شاید خواهد رفت.
تا نظر دوستان دیگر چه باشد.
این تاپیک هم مشکل خاصی ندارد، یعنی آیا تاپیک جدید لازمه؟
بحرحال اگر دوستان صلاح بدانند من مشکلی ندارم.
البته به نظر من بهتر است اگر قرار بر تاپیک جدید شد، در جایی باشد که در دید هم VB.Net کارها و هم C#.Net کارها باشد
نقل قول:
ببخشید این کدهای بالا برای کلاینت است . درسته ؟ ( که آدرس سرور و یه پورت را تعیین می کنیم و
به وسیله socket به آن وصل می شویم ) اگر هست کد سرور باید چگونه باشد تا بتواند پیغام کلاینت
را بگیرد
اگر می تواند به صورت مختصر درباره الگوریتم سرور و کلاینت توضیح بدهید( من دارم گیج می شم)
یک کم اجازه دهید تا در فرصت خالی جوابتان را کاملتر تایپ میکنم، و تا ببینیم نظر دوستان راجب تاپیک جدید هم به کجا میرسد.
نقل قول:
چگونه محتویات داخل یک فایل از نوع ورد (متن داخل ورد) در یک تکست باکس قرار دهم
ربطش را به شبکه کردن درک نمیکنم. ولی جهنم ضرر، دو راه ساده دارید، (با اجازه صاحب تاپیک خیلی خیلی کوتاه جواب میدهم.)
- WebBrowse بگذارید و Navigate کنید به ادرس doc.
- فایل Microsoft.Office.Interop.Word را به پروزه Reference کنید و استفاده کنید.
من به شخصه خودم نظر خاصی ندارم (نه این ور و نه ان ور، فقط دات نت!) پس منتظر نظر دوستان در خصوص تاپیک جدید هستم.
جمیعاً موفق و پیروز باشید.