这学期课很多,加上学校就业办这边事情也不少,所以零散时间琢磨了很多天,开始想用进程的并发实现一个收,一个发,但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和端口
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':
if msg == 'q':
Sockin.close()
break
print msg
break
print msg
PCb:
import socket
Sockin = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
Sockin.bind(('192.168.10.8',23000))
Sockin.bind(('192.168.10.8',23000))
while True:
msg,(addr,port) = Sockin.recvfrom(100)
if msg == 'q':
Sockin.close()
break
else:
print msg
break
else:
print msg
text = raw_input('> ')
Sockin.sendto(text,(('192.168.10.5',23000)))
if text =='q':
Sockin.close()
break
break
编译后测试截图:
PCa:
![](https://i-blog.csdnimg.cn/blog_migrate/23cee902cc25b4102206d5a86e0347c5.jpeg)
PCb:
![](https://i-blog.csdnimg.cn/blog_migrate/25955bb2adbc2fdd901cb5aa9523258f.jpeg)
这是个相当简单的程序,我接下来要做的是将该程序整合到PyQt4里面去,以实现聊天功能!
加油!
转载于:https://blog.51cto.com/neo1989/283172