19.5.17笔记and作业

网络编程
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()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值