Python实现局域网(Socket)通

发布时间:2019-09-16 07:39:01编辑:auto阅读(2019)

    这学期课很多,加上学校就业办这边事情也不少,所以零散时间琢磨了很多天,开始想用进程的并发实现一个收,一个发,但ide无法实现同时print和input,所以暂时只实现了一个类似对讲机一样的程序,就是A说B听,然后B说A听,如此循环。
    先看程序:
    PCa:
    import socket
     
    Sockin = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)        #新建socket
    Sockin.bind(('192.168.10.5',23000))   #socket绑定该主机的ip和端口

    while True:             #循环中执行收发功能
        text = raw_input('> ')
        Sockin.sendto(text,(('192.168.10.8',23000)))     #将 'text’ 发送给对方
        if text == 'q':
            Scokin.close()  #退出时关闭socket
            break
           
        msg,(addr,port) = Sockin.recvfrom(100)    # 接受数据
        if msg == 'q':
            Sockin.close()
            break
        print msg
     
     
     
    PCb:
    import socket
    Sockin = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    Sockin.bind(('192.168.10.8',23000))

    while True:
        msg,(addr,port) = Sockin.recvfrom(100)
        if msg == 'q':
            Sockin.close()
            break
        else:
            print msg

        text = raw_input('> ')
        Sockin.sendto(text,(('192.168.10.5',23000)))
        if text =='q':
            Sockin.close()
            break
     
     
    编译后测试截图:
    PCa:
     
    PCb:
     
    这是个相当简单的程序,我接下来要做的是将该程序整合到PyQt4里面去,以实现聊天功能!
     
    加油!
     

关键字