ايران ويج

نسخه‌ی کامل: ارسال دستور به کلاینت
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام.
برنامه ای نوشتم که 2 قسمت داره. یعنی کلاینت سروریه.
من میخوام نسخه ای که روی سرور sql نصب شده به کلاینت دستور خاصی بفرسته تا بعدش کلاینت عمل خاصی انجام بده و مقداری رو از دیتابیس بخونه.
پروتوکول namepipe چطوره برای برقراری ارتباط؟
لطفا راهنمایی کنید.
پروتکلش رو پورت 445 کار میکنه که firewall ها بهش حساسن اینرئتکل یه کم کنده و به درد شبکه هایی که ترافیک بالا دارن یا سرعت پایین دارن زیاد مناسب نیست(ترافیک اضافه ایجاد میکنه)
کد:
http://msdn.microsoft.com/en-us/library/ms189307.aspx.

http://dotnet.netindonesia.net/?0::15329

http://msdn.microsoft.com/en-us/library/ms189083.aspx
سلام.
روش کارش رو میدونی مبین جان؟ طرف مقابل باید پورت باز کنه؟ مثل tcp/ip میمونه یا نه نیاز به باز کردن پوت نیست؟ چون من شنیدم این پروتوکول پورت باز نمیکنه.
گفتم که پیمان جان پورت 445 رو باز میکنه اموزش استفادش با استفاده از sql client تو لینک دومی که دادم کامل توضیح داده
شبیه به همون Tcp/Ip هست وقتی درخواست میره به سرور سرور یه سرک بهش میکشه و میزارتش تو نوبت تا بهش اجازه ارسال بده واسه همون سرک کشیدن ترافیک رو بالا میبره (البته اونقدرها هم چیز مهمی نیست)
سلام.
خوب پس این روش برتری به tcp/ip خودمون نداره. اگه بخوام پورت باز کنم خوب با همون کلاس های شبکه خود دات نت کار میکنم که بهشون مسلطم. چون این طوری فایروال گیر میده و من نمیخوام این مشکل پیش بیاد.

روش دیگری برای فرستادن دستور به کلاینت به نظرتون میرسه؟ یه طوری میخوام به کلاینت بگم دیتابیس رو بخون.
برتری اون روش اينه اطلاعات امن فرستاده ميشن
اما برای تو که کسی به برنامت کاری نداره سوکت هم خوبه
با TCP/IP و هم میشه اطلاعات رو امن فرستاد تازه میشه فشرده سازی هم کرد
سلام.
اتفاقا امنیت اطلاعات برام خیلی مهمه. حتی باید کاری کنم که پروسه برنامه بسته نشه.
ولی کلا سوکت پروگرمینگ درد سر داره. فایروال گیر میده. آنتی ایراد میگیره. میخوام روش بهتری استفاده کنم.

ببینید من میخوام بلافاصله بعد از تغییر محتویات یه رکورد مربوط به یکی از کلاینت ها توسط خود سرور, سرور اون کلاینت رو خبر کنه تا اطلاعات جدید رو بخونه و اون اطلاعات تو خود کلاینت هم به روز شه.
منطقی هم نیست تایمر بذارم و هر ثانیه از سرور Select کنم. ناشیانه ترین راه اینه. راه بهتر سوکت پروگرمینگ هست که باز مشکلات خودش رو داره.
یه راه دیگه میشه پیشنهاد کرد به این صورت که 2 تا فیلد برای این کار در نظر بگیرم. بعد از اعمال تغییرات توسط سرور فیلد جدید آپدیت بشه ولی فیلد قدیمی محتویات قبلی رو که هنوز رو کلاینت هست رو نگه داره. بعد از این که بعدا کلاینت اطلاعات جدید رو خوند به سرور اطلاع میده و اون فیلد قدیمی هم مقدارش با فیلد جدید یکی میشه. ولی این روش هم یه فیلد اضافی به دیتابیس تحمیل میکنه.

روش بهتری کسی به ذهنش میرسه؟
خب چرا از تکنیکهایی مثل Isolation level و Cursor Location استفاده نمیکنی
اینجوری وفتی رکوردی edit میشه بقیه تو صف میمونن یا تو حالت کرسر سرور هم وقتی تغییری ایجاد بشه رو سرور به همه اطلاع داده میشه
سلام.
صف چی؟ نیاز به صف ندارم. من میگم باید سریع کلاینت مطلع شه و سرور رو بخونه. فقط یه کلاینت نه همه.
شما چند تا کلاینت داری؟
اونهایی هم که نوشتم خود sqlserver از این تکنیکها استفاده میکنه برای جلوگیری از هم زمانی و .....
صفحه‌ها: 1 2