تبليغاتX
.•´¯)¸.•´*مهر و کامپیوتر *`•.¸(¯`•.

.•´¯)¸.•´*مهر و کامپیوتر *`•.¸(¯`•.
وبلاگ تخصصی رشته نرم افزار

امام علی (ع)

أَلاِْیمانُ عَلی أَرْبَعَةِ أَرْکان: أَلتَّوَکُّلِ عَلَی اللّهِ، وَ التَّفْویضِ إِلَی اللّهِ وَ التَّسْلیمِ لاَِمْرِللّهِ، وَ الرِّضا بِقَضاءِ اللّهِ.

ایمان چهارپایه دارد: توکّل بر خدا، واگذاردن کار به خدا، تسلیم به امر خدا و رضا به قضای الهی.

فونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا سازفونت زيبا ساز

  


برچسب‌ها: مهر نوشت
[ جمعه ششم آبان 1390 ] [ ] [ مریم ] [ ]


برچسب‌ها: مهر نوشت
[ چهارشنبه بیست و هفتم اردیبهشت 1391 ] [ ] [ مریم ] [ ]

دانلود کتاب ++c دایتل

لینک دانلود :دانلود کتاب ++c دایتل ویرایش 5 فارسی


برچسب‌ها: برنامه نویسی, c
[ سه شنبه بیست و ششم اردیبهشت 1391 ] [ ] [ مریم ] [ ]

برنامه نویسی برای socket

  • انواع سوکت ها :

در میان سوکت ها دو نوع سوکت وجود دارند که از همه مهم ترند :

  • 1.سوکت های نوع استریم که سوکتهای Connection Oriented نامیده می شود.(مبتنی بر TCP)
  • 2.سوکت های نوع دیتاگرام که سوکتهای Connectionless نامیده می شود.(مبتنی بر UDP)

سوکت های نوع استریم خیلی مطمین تر از نوع دیتاگرام هستند یعنی در نوع اول داده ها با رعایت ترتیب و مطمین با نظارت کافی بر خطاهای احتمالی مبادله می شوند ولی در نوع دوم هیچگونه تضمینی برای ترتیب و ارسال داده ها به طور کامل وجود ندارد.

  • Server/Client :

با این موضوع اشنا هستید که هر ارتباطی دو طرفه است. این ارتباط از یک طرف درخواست می شود و طرف دوم ارتباط را می پذیرد (می تواند رد کند) تا از این طریق بتوانند مبادله داده ها و اطلاعات کنند. برنامه ی شروع کننده ارتباط ( در خواست کننده ارتباط ) را برنامه مشتری (Client) می نامند یعنی این برنامه به دنبال برنامه ای است که با ان مبادله داده کند. برنامه ای که این درخواست را قبول یا رد می کند برنامه سرویس دهنده (Server) می گویند.یعنی این برنامه منتظر درخواست می ماند تا در صورت پیدا کردن مشتری با ان ارتباط برقرار کند. نکته: در یک ارتباط برنامه مشتری بیشتر نیازمند داده ها و اطلاعات است و برنامه سرویس دهنده این داده ها و اطلاعات را در اختیار برنامه مشتری قرار می دهد.

  • نوشتن برنامه سرویس دهنده:

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

  • 1. باید یک سوکت برای ارتباط اماده کنیم. این سوکت می تواند از نوع سوکت استریم یا دیتاگرام باشد. که مطمعنا ما از نوع استریم استفاده می کنیم.
import socket
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

توضیح: ارگومان اولی که متد سوکت گرفته(یعنی AF_INET) برای مشخص کردن خانواده پروتوکل است و چون پروتوکل مورد بحث ما TCP/IP است این تابع ثابت است.

  • 2. بعد از باز کردن سوکت باید به ان یک شماره پورت اختصاص دهیم تا برنامه مشتری به ان متصل شود.

می توانیم یک ادرس هاست هم به ان اختصاص دهیم

socket.bind((HOST, PORT))
  • 3. مرحله بعد پذیرفتن تقاضاهای ارتباط است این تقاضاها می تواند به تعداد متعددی باشد. که ما باید تعداد پذیرفتن تقاضا را تعیین کنیم.

نکته: این مطلب یادتان باشد که پذیرش تقاضای ارتباط به معنی پذیرفتن داده نیست بلکه فضای لازم برای ارسال و دریافت داده ایجاد می کند.

socket.listen(1)
  • 4. با استفاده از تابع accept() می توانید تقاضاهای معلق را در صورت وجود به برنامه شما معرفی کند.
socket.accept()
  • 5. از توابع send() و recv() برای ارسال و دریافت داده می توان استفاده کرد.
  • نوشتن برنامه مشتری:

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

  • 1. همانند برنامه سرویس دهنده برنامه مشتری هم باید یک سوکت باز کند تا برنامه سرویس دهنده بتواند با ان ارتباط داشته باشد(برای ارسال و دریافت داده)
import socket
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  • 2. در ادامه ما باید یک درخواست به برنامه سرویس دهنده ارسال کنیم تا اگر اماده باشد اجازه متصل شدن ما به سرویس دهنده را بدهد.
socket.connect((HOST, PORT))
  • 3. از توابع send() و recv() برای ارسال و دریافت می توان استفاده کرد.
  • مثال :

این مسایلی که در بالا توضیح داده شد بسیار اسان بود ولی بحث سوکت به این اسانی که من توضیح دادم نیست .توضیح من شما را با کلیت کار اشنا کرد. برای اینکه یکم بیشتر در مورد این موضوعی که شروع کردیم بفهمید بهتره کد زیر را مطالعه کنید.

# Echo server program
import socket

HOST = ''                 # Symbolic name meaning the local host
PORT = 50007              # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
    data = conn.recv(1024)
    if not data: break
    conn.send(data)
conn.close()
# Echo client program
import socket

HOST = 'localhost'    # The remote host
PORT = 50007              # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send('Hello, world')
data = s.recv(1024)
s.close()
print 'Received', `data`

یه مثال دیگه ای که یکم پیچیده تره...

# Echo server program
import socket
import sys

HOST = ''                 # Symbolic name meaning the local host
PORT = 50007              # Arbitrary non-privileged port
s = None
for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
    af, socktype, proto, canonname, sa = res
    try:
	s = socket.socket(af, socktype, proto)
    except socket.error, msg:
	s = None
	continue
    try:
	s.bind(sa)
	s.listen(1)
    except socket.error, msg:
	s.close()
	s = None
	continue
    break
if s is None:
    print 'could not open socket'
    sys.exit(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
    data = conn.recv(1024)
    if not data: break
    conn.send(data)
conn.close()
# Echo client program
import socket
import sys

HOST = 'localhost'    # The remote host
PORT = 50007              # The same port as used by the server
s = None
for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM):
    af, socktype, proto, canonname, sa = res
    try:
	s = socket.socket(af, socktype, proto)
    except socket.error, msg:
	s = None
	continue
    try:
	s.connect(sa)
    except socket.error, msg:
	s.close()
	s = None
	continue
    break
if s is None:
    print 'could not open socket'
    sys.exit(1)
s.send('Hello, world')
data = s.recv(1024)
s.close()
print 'Received', `data`


برچسب‌ها: شبکه های کامپیوتری
[ دوشنبه هجدهم اردیبهشت 1391 ] [ ] [ مریم ] [ ]


MOV

ساده ترين دستورالعمل mov است که دارای دو عملوند است. اين دستورالعمل محتوای دومين عملوند خود را در اولين کپی می کند. فرم کلی آن به صورت زير است:

mov Dest, Source

دستور mov يک کپی از Source را گرفته و آنرا در Dest ذخيره می کند. محتوای Source بعد از اجرای دستور تغيير نمی کند ولی مقدار قبلی Dest رونويسی می شود.

دستور mov مشابه دستور انتساب در زبان های سطح بالا است ( Dest := Source; در زبان Pascal يا Dest=Source; در زبان C).

با توجه به نوع عملوندها، انواع مختلفی از دستورالعمل mov را می توان داشت. متداولترین آنها عبارتند از:

mov register, register
mov memory, register
mov register, memory
mov memory, immediate data
mov register, immediate data
mov AX/AL, memory
mov memory, AX/AL
mov segment register, memory 16
mov segment register, register 16
mov register 16, segment register
mov memory 16, segment register

چند موضوع مهم درباره دستور mov را باید همواره بخاطر داشت:

1. انتقال حافظه به حافظه وجود ندارد. يعنی هردو عملوند همزمان نمی توانند عملوند حافظه ای باشند.
2. عملوندها می تواند از نوع بايت يا کلمه باشند. اما هردو عملوند حتما بايد هم اندازه باشند (برای مثال دستور mov AX,BL اشتباه است). اين برای عملوند های حافظه و ثبات هم باید رعایت شود (اگر متغيری را يک بايتی تعريف کنيد و آنرا در ثبات AX منتقل کنيد اسمبلر پيغام خطا صادر می کند).
3. با اين دستور نمی توان يک داده فوری را در يک ثبات سگمنت منتقل کرد.
4. هر دو عملوند نمی توانند ثبات سگمنت باشند.
5. گونه هائی از دستور mov سريع تر و کوتاهتراز بقيه هستند. برای مثال هر دو دستور mov ax, mem و mov reg, mem داده ای را از حافظه به ثبات کپی می کنند اما دستورالعمل اول کوتاهتر و سريع تر از دومی است.
6. می توان يک مقدار فوری را در يک محل حافظه منتقل کرد. در اين حالت داده فوری به اندازه عملوند مقصد گسترش داده می شود (مگراينکه بزرگتر از مقصد باشد که خطا صادر می شود). البته اسمبلر نمی تواند اندازه عملوند حافظه را تعيين کند مگر اينکه عملوند حافظه ای به صورت يک متغير در برنامه اعلان شده باشد. برای حل اين مشکل از عملگر های byte ptr و word ptr برای تعيين اندازه عملوند حافظه ای می توان استفاده کرد.


مثال. دستور زيرداده فوری 10h را به اندازه يک کلمه گسترش داده و در محلی که BX به آن اشاره می کند ذخيره می کند.

mov word ptr [bx], 10h

مثال. دستورات زير داده فوری 40h را در ثبات سگمنت ES ذخيره می کند. ثبات AX به عنوان واسطه بکار رفته است. هر کدام از ثبات همه منظوره را می توان به جای AX بکار برد.

mov AX, 40h
mov ES, AX


دستور mov روی هيچکدام از فلگ ها تاثيری ندارد.


دستورالعمل xchg محتوای دو عملوند خود را جابجا می کند. فرم کلی آن به صورت زير است:

xchg Operand1, Operand2

مقدار هردو عملوند در اثر اجرا تغيير می کند.

چهار شکل خاص برای اين دستور وجوددارد:

xchg register, memory
xchg register, register
xchg ax, register16

ترتيب علموندها اهمیت ندارد. می توانید xchg mem,reg یا xchg reg,mem را بنویسید نتیجه فرقی ندارد. اکثر اسمبلرها بطور خودکار کد کوتاهتر را انتخاب می کنند.

هردو عملوند باید یک اندازه باشند.

دستور xchg روی هيچيک از فلگ ها تاثیر نمی گذارد.


دستورالعمل (load effective address) lea برای مقداردهی اشاره گرها استفاده می شود. فرم خاص آن به صورت زیر است:

lea register16, memory

اين دستور آدرس موثر يک محل خاص از حافظه را درون یک ثبات همه منظوره ذخيره می کند. منظور از آدرس موثر آدرس نهائی حافظه بعد از کلیه محاسبات آدرسی است.


مثال. دستور زير مقدار 1234h را در ثبات AX قرار می دهد.

lea AX, DS:[1234h]


دستور mov ax, immediate data هم همین عمل را انجام می دهد. تفاوت آنها در اين است که دستورالعمل lea محاسبه آدرسی و انتقال داده را همزمان انجام می دهد.


مثال. دستور زير آدرس حاصل از محاسبه BP+SI+4 را درثبات AX قرار می دهد. ابتدا مقادير را بهم جمع کرده سپس در ثبات منتقل می کند.

lea bx, 4[bp+si]


دستورالعمل lea روی فلگ ها تاثير ندارد.



برچسب‌ها: مباحث ویژه 2
[ جمعه هشتم اردیبهشت 1391 ] [ ] [ مریم ] [ ]

دانلود لینوکس Ubuntu 8.04 Final

توزیع محبوب لینوکس Ubuntu که یکی از توزیع‌های Debian است که به طور رایگان برای دانلود در اختیار کاربران قرار می‌گیرد و در سال‌های اخیر گوی سبقت را از توزیع‌های تجاری Red Hat و نیز Suse کمپانی Novell ربوده است.

سیستم عامل
Ubuntu نگارش "Final" نسخه Ubuntu 8.04 آخرین نسخه پایدار این سیستم عامل است.

سیستم عامل اوبونتو از سوی کمپانی Canonical تحت پشتیبانی مالی قرار می‌گیرد. گفتنی است که
اوبونتو میان کاربران تجاری و خانگی هیچ محدودیتی را نمی پذیرد و این محصول برای همه کاربران بطور رایگان عرضه می شود.

سیستم عامل اوبونتو از محبوب ترین توزیع های کد-باز
لینوکس است که محیطی مطمئن و امن را برای علاقه مندان به دنیای کد باز فراهم می آورد.

 

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


ubuntu Ubuntu 8.04 Final (لینک مستقیم از سایت سازنده)

ubuntu 700 MB

ubuntu پس از ورود به سایت ubuntu ابتدا در قسمت " Choose a location near you" نزدیکترین کشور به محل اقامت خود را انتخاب نمایید , سپس گزینه ی " Start Download " را انتخاب نمایید.


برچسب‌ها: لینوکس
[ جمعه هشتم اردیبهشت 1391 ] [ ] [ مریم ] [ ]

یاس یعنی بوی دل بوی بهشت


یاس یعنی فاطمه حیدر سرشت


یاس یعنی کمترین عمرِ جهان


یاس یعنی مادرِ صاحب زمان


برچسب‌ها: مهر نوشت
ادامه مطلب
[ دوشنبه چهارم اردیبهشت 1391 ] [ ] [ مریم ] [ ]

محاسبه مجموع مربعات یک عدد به زبان پایتون

Val=raw_input('please enter a number:')

num=int(num)

sum=0

while num>0:

r=num%10

sum=sum+r**2

num=num/10

print sum


برچسب‌ها: برنامه سازی شبکه
[ دوشنبه چهارم اردیبهشت 1391 ] [ ] [ مریم ] [ ]
درباره وبلاگ

*سلام *
به وبلاگ مریم خوش اومدید
لحظاتتون شکوفه باران
************************
خداوند بی نهایت است

اما به قدر نیاز تو پایین می آید

به قدر آرزویت گسترده می شود

و به قدر ایمان تو کارگشاست...

☆☆☆☆☆☆☆☆☆☆☆☆☆☆

خدا را دوست دارم ، به خاطر اینكه با هر username كه باشم ، من را connect می كند.
خدا را دوست دارم ، به خاطر اینكه تا خودم نخواهم مرا D.C نمی كند.
خدا را دوست دارم ، به خاطر اینكه هیچ وقت به من پیغام line busy نمی دهد.
... خدا را دوست دارم ، به خاطر اینكه با یك delete هر چی را بخواهم پاك می كند.
خدا را دوست دارم ، به خاطر اینكه اینهمه wallpaper كه update می كند .
خدا را دوست دارم ، به خاطر اینكه با اینکه خیلی بدم ، من را log off نمی كند.
خدا را دوست دارم ، به خاطر اینكه همه چیز من را می داند ولی send to all نمی كند.
خدا را دوست دارم ، به خاطر اینكه می گذارد هر جایی كه می خواهم In visible بروم.
خدا را دوست دارم ، به خاطر اینكه همیشه جزء friend هام می ماند و من را ignor و delete نمی كند.
خدا را دوست دارم ، به خاطر اینكه همیشه اجازه ، undo كردن را به من می دهد.
خدا را دوست دارم ، به خاطر اینكه من را install كرده است .
خدا را دوست دارم ، به خاطر اینكه اینهمه friend برای من add می كند.
خدا را دوست دارم ، به خاطر اینكه اراده كنم ، ON می شود و من می توانم باهاش حرف بزنم.
خدا را دوست دارم ، به خاطر اینكه دلش را می شكنم ، اما او باز من را می بخشد و shout down ام نمی كند.
خدا را دوست دارم ، به خاطر اینكه password اش را هیچ وقت یادم نمی رود ، كافیه فقط به دلم سر بزنم.
خدا را دوست دارم ، به خاطر اینكه هیچ وقت پیغام no response نمی دهد .
خدا را دوست دارم به خاطر اینكه هیچ وقت ویروسی نمی شود و همیشه سالم است .
خدا را دوست دارم ، به خاطر اینكه همیشه وقت دارد حرف هایم را بشنود.
خدا را دوست دارم ، به خاطر اینكه می توانم از یكی دیگر پیشش گله كنم ، بگویم كه...
خدا را دوست دارم ، به خاطر اینكه همیشه پیشم می ماند و من را تنها نمی گذارد ، دوست داشتنش ابدی است .
خدا را دوست دارم ، به خاطر اینكه می توانم احساسم را راحت به آن بگویم ؛ نه اصلاً نیازی نیست بگویم ، خودش میتواند نگفته ، حرف ام را بخواند.
خدا را دوست دارم ، به خاطر اینكه تنها كسی است كه می توانی جلوش بدون اینكه خجل بشوی گریه كنی ، و بگویی دلت براش تنگ شده.
خدا را دوست دارم ، به خاطر اینكه ، می گذارد دوستش داشته باشم،وقتی كه می دانم لیاقت آنرا ندارم.
خدا را دوست دارم ، به خاطر اینكه از من می پذیرد كه بگویم: خدا را دوست دارم!
امکانات وب

***

statistics

***
parsskin go Up
* *

mouse code

كد ماوس