تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 3 از 3

نام تاپيک: سوکت نویسی یا برنامه نویسی تحت شبکه

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2015
    پست ها
    3

    13 سوکت نویسی یا برنامه نویسی تحت شبکه

    سلام . من برای پروژه درس شبکه یک مجبورم یه برنامه چت به زبان پایتون بنویسم که دو تا کلانت از طریق یک سرور
    بتونن با همدیگه چت کنند ! خوشبختانه روی این زبان تمرین کردم و با سینتکس و قواعدش اشنام , از قبل هم سابقه برنامه نویسی
    با خانواده سی رو دارم!
    تونستم با کمی کمک از منابع خارجی سورس هایی رو بنویسم اما مشکل داره برنامه ی من هنوز !
    اینه که دو تا کلاینت به یک سرور متصل میشن پیام به سرور میرسه اما سرور اون رو ارسال نمیکنه به کلاینت دیگه !
    در پست های بعدی سورس هارو میزارم !
    کلا تاپیکی رو پیدا نکردم که به طور تخصصی روی برنامه نویسی شبکه بحث کنه ! گفتم پس شاید زدن این تاپیک مفید باشه !
    اگه هم کسی مایل باشه , اموزش اینکه چطور یک سوکت در پایتون یا سی شارپ بنویسیم هم میزارم !

  2. #2
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2015
    پست ها
    3

    پيش فرض

    اینم سورس سرورم :

    from socket import *
    import sys
    from builtins import bytes

    host = '127.0.0.1'
    host2= '127.0.0.1'
    port = 1111
    port2=1212

    adr=(host,port)
    adr2=(host2,port2)

    class Serv:
    def __init__(self):
    self.serv = socket(AF_INET,SOCK_STREAM)
    self.serv2=socket(AF_INET,SOCK_STREAM)
    self.serv.bind((adr))
    self.serv2.bind((adr2))
    self.cli = None
    self.cli2 = None
    self.listeningloop = 0
    self.processingloop = 0
    self.run()
    def run(self):
    self.listeningloop = 1
    while self.listeningloop:
    self.listen()
    self.processingloop = 1
    while self.processingloop:
    self.receivingmsg1()
    self.sendingmsg1()
    self.receivingmsg2()
    self.sendingmsg2()
    self.cli.close()
    self.cli2.close()
    self.serv.close()
    self.serv2.close()

    def listen(self):
    self.serv.listen(5)
    print( 'Listening for Client One on Port 1111 :')
    cli,addr = self.serv.accept()
    self.cli = cli
    print ('Connected to ', addr)
    self.serv2.listen(5)
    print('Listening for Client Two on Port 1212 :')
    cli2,addr2=self.serv2.accept()
    self.cli2 = cli2
    print('Connected to ' , addr2)

    def sendingmsg1(self):
    msg2=self.receivingmsg1()
    self.serv2.sendto(bytes(msg2,'utf-8'),addr2)
    def sendingmsg2(self):
    msg3=self.receivingmsg2()
    self.cli.sendto(bytes(msg3,'utf-8'),addr)

    def receivingmsg1(self):
    msg=self.cli.recv(4096).decode('utf-8')
    print('client one :' , msg)
    return msg

    def receivingmsg2(self):
    msgtwo=self.cli2.recv(4096).decode('utf-8')
    print('Client two : ' , msgtwo)
    return msgtwo


    if __name__ == '__main__':
    srv= Serv()

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2015
    پست ها
    3

    پيش فرض

    اینم سورس یکی از کلاینت هام :

    from socket import *
    from time import time
    from time import sleep
    import sys
    from builtins import bytes

    class clients:
    def __init__(self,host):
    self.HOST=host
    self.PORT=1111
    self.ADDR=(self.HOST,self.PORT)
    self.sck=None
    def connecting(self):
    self.sck=socket(AF_INET,SOCK_STREAM)
    self.sck.connect(self.ADDR)
    def sendmsg(self,msg):
    self.sck.send(bytes(msg , 'utf-8'))
    def rciving(self):
    data=self.sck.recv(4096).decode('utf-8')
    print('Server : ' , data)

    if __name__ == '__main__':
    print('Enter Host on port 1111 : ')
    hst=input()
    conn=clients(hst)
    conn.connecting()
    loop=1
    while loop:
    msg=input('Your Massage: ' )
    if msg=='finish':
    conn.sendmsg('Client Closed!')
    conn.sck.close()
    loop=0
    else:
    conn.sendmsg(msg)
    conn.rciving()

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •