这学期课很多,加上学校就业办这边事情也不少,所以零散时间琢磨了很多天,开始想用进程的并发实现一个收,一个发,但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:
Python实现局域网(Socket)通信   _通信
 
PCb:
Python实现局域网(Socket)通信   _通信_02
 
这是个相当简单的程序,我接下来要做的是将该程序整合到PyQt4里面去,以实现聊天功能!
 
加油!