نقل قول: برنامه نویسی تحت شبکه در 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 کنید و استفاده کنید.
من به شخصه خودم نظر خاصی ندارم (نه این ور و نه ان ور، فقط دات نت!) پس منتظر نظر دوستان در خصوص تاپیک جدید هستم.
جمیعاً موفق و پیروز باشید.
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
یه سوال ساده
من تازه SQL server 2005 رو نصب کردم ، کجا باید برم جدول و پایگاه داده رو درست کنم ؟؟
توی منوی استارت و آل پروگرم یه گزینه اضافه شده
Microsoft SQL Server 2005
و توی آن دو گزینه هست :
SQL Server Management Studio
SQL Server Business Intelligence Development Studio
کدومشه ؟؟
اصلا کجا باید برم ؟؟؟
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
من تازه SQL server 2005 رو نصب کردم ، کجا باید برم جدول و پایگاه داده رو درست کنم ؟؟
برنامه کمکی SQL Server Management Studio یک ابزار جانبی بسیار قدرت متد و ساده در مدیریت SQLServer است.
بعد از اجرا و اتصال به نمونه SQLServer میتواند با رالست کلیک روی Databases بانک جدید خود را تولید کنید.
نقل قول:
..مقدار نظم بيشتري بگيره يه تاپيک به نام آموزش Socket ايجاد کنيد ..
با توجه به pm دوستان و کمی بالا و پایین کردم تاپیک جدیدی ایجاد کردم.
لینک تاپیک جدید:
https://barnamenevis.org/showthread.php?t=121111
انشا ا... با پیگیر و اتمام هر چه زودتر تاپیک به تمام سوالات بنیادین دوستان در متن تاپیک و در محل مناسب جواب داده خواهد شد.
فقط تایپ مطالب جدید فرصتی خالی میخواهد با کمی صبر دوستان و کمک اساتید دات نت کار پیش خواهد رفت.
نقل قول: برنامه نویسی تحت شبکه در vb.net
نقل قول:
اتصال به نمونه SQLServer
این یعنی چی ؟
سرور از کجا بیارم ؟
ممنون ...
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
این یعنی چی ؟
سرور از کجا بیارم ؟
شما در یک رایانه میتوانید چندین نمونه و نسخه SQLServer را نصب کنید.
یک نمونه SQLServer میتواند پیش فرض باشد و بدون دادن نام هم به ان وصل شد.
سرور هم میتواند رایانه خودتان باشد.
مثلاً اگر در رایانه خودتان برای اتصال به نمونه پیش فرض SQLServer کافیست در کادر اولی management مقدارد ServerName را یک نقطه قرار دهید و اگر User و Pass هم دارید که وارد کنیدف ورگنه OK کنید تا به نمونه پیش فرض SQLServer روی رایانه خودتان وصل شوید.
یا اگر نسخه Express را استفاده میکنید در رایانه خودتان باید از SQLEXPRESS\. استفاده کنید که نقطه معرف رایانه جاری است و....
موفق باشید.
نقل قول: برنامه نویسی تحت شبکه در vb.net
ممنون
این نسخه Standard هستش .
نقطه زدم ارور داد . اینم متن ارورش :
TITLE: Connect to Server
------------------------------
Cannot connect to ..
------------------------------
ADDITIONAL INFORMATION:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 2)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLS erver&EvtID=2&LinkId=20476
------------------------------
BUTTONS:
OK
------------------------------
ببین اصلا پنجرش این شکلیه ؟؟؟؟
راستی توی سیدیش دو تا پوشه هستش . یکی زده Tool و دیگری Server . کدومشه ؟؟
من Tool رو نصب کردم ...... Server هم می خواد ؟؟؟
http://upload.iranblog.com/1/1220697888.jpg
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
شما باید در قسمت ServerName نام کامپیوترتان را وارد کنید
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام
نقل قول:
ببین اصلا پنجرش این شکلیه
میشه گفت بله.
ذات SQLServer اصلاً پنجره ای نداره!
این پنجره برنامه کمکی SQL Server Management Studio است.
نقل قول:
راستی توی سیدیش دو تا پوشه هستش . یکی زده Tool و دیگری Server .
در اصل باید Server نصب شود و Tools ابزار کمکی است، مثل همین برنامه که عسش را گذاشتید.
ولی فکر تا حالا تستی نکرده ام و بعید میدانم بدون نصب هسته SQL Server برنامه SQL Server Management Studio نصب شود.!!!!
اگر با نقطه نتوانستید وصل شوید. یک سری به مسیر زیر بزنید.
Start->Programs->Microsoft SQL Server 2005->Configuration Tools->SQL Server Configuration Manager->SQL Server Services
ببنید سرویسی با نام (SQL Server (MSSQLSERVER یا کلاً (SQL Server(XXXXX دارید؟
روشن است یا نه (State=Run)؟ اگر در حال اجرا نیست، راست کلیک کنید و Start را بزنید.
سپس برگردید و مجدداً تست کنید.
نقل قول: برنامه نویسی تحت شبکه در vb.net
سلام دوستان من یه برنامه تحت شبکه میخوام بنویسم .برنامم به این صورته که در سرور داده ها از طریق پورت comخونده میشه ودر پایگاه داده ذخیره میشه و من میخواهم که این داده ها در کامپیوتر clientنمایش داده شود برای این کار از socket programmingباید استفاده کنم یا از طریق خود sqlیعنی از امکانات sqlاستفاده کنملطفا راهنماییم کنید خیلی گیج شدم.