网络编程
from multiprocessing import Process, Queue, Lock
from threading import Thread
import queue
def Jc_A(q):
lb=[1,2,3]
qa=queue.Queue(3)
Xc_A1=Thread(target=XcA1,args=(qa,lb))
Xc_A2=Thread(target=XcA2,args=(qa,lb,q))
Xc_A1.start()
Xc_A2.start()
Xc_A1.join()
Xc_A2.join()
def XcA1(qa,lb):
for i in lb:
qa.put(i)
def XcA2(qa,lb,q):
lb1=[]
for i in range(len(lb)):
lb1.append(qa.get())
for j in lb1:
q.put(j)
def Jc_B(q):
qb=Queue(3)
Xc_B2=Thread(target=XcB2,args=(q,qb))
Xc_B1=Thread(target=XcB1, args=( qb,))
Xc_B2.start()
Xc_B1.start()
Xc_B2.join()
Xc_B1.join()
def XcB1(qb):
d = []
for i in range(3):
d.append(qb.get())
def XcB2(q, qb):
c = []
for i in range(3):
c.append(q.get())
for j in c:
qb.put(j)
print©
if name == ‘main’:
q = Queue(3)
JC_A = Process(target=Jc_A, args=(q,))
JC_B = Process(target=Jc_B, args=(q,))
JC_A.start()
JC_B.start()
import socket
tc=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
loc_address=('192.168.101.166',8888)
tc.bind(loc_address)
remote_address=('192.168.101.166',9999)
while True:
data=input('请输入数据')
if data=='quit':
break
tc.sendto(data.encode('utf-8'),remote_address)
recv=tc.recvfrom(128)
print(recv)
tc.close()
from socket import *
server_socket=socket(AF_INET,SOCK_STREAM)
address=('192.168.101.166',9999)#本地地址、端口号
server_socket.bind(address)#绑定本地地址,和端口号
server_socket.listen(5)#变主动为被动,监听最多五个链接
lianjie=server_socket.accept()#接受客户端发来的链接
while True:
data=lianjie[0].recv(128)
print(data.decode('utf-8'))
x='我接到了:'+data.decode('utf-8')
lianjie[0].send(x.encode('utf-8'))
from socket import *
import threading
def recv():
while True:
r=lianjie[0].recv(64)
print(r.decode('utf-8'))
def send():
while True:
data=input('')
lianjie[0].send(data.encode('utf-8'))
if __name__ == '__main__':
servers_sock=socket(AF_INET,SOCK_STREAM)
local_address=('192.168.101.166',6666)
servers_sock.bind(local_address)
servers_sock.listen(5)
lianjie=servers_sock.accept()
t1=threading.Thread(target=recv)
t2=threading.Thread(target=send)
t1.start()
t2.start()