socket通信流程和一个简单的网络通信程序

"""
  server.py
  模拟网络通信服务器端代码
"""
import
socket #导入socket包 sk=socket.socket() #建立socket对象 print(sk) address=('127.0.0.1',8888) #生成地址信息元组 sk.bind(address) #绑定该地址信息 sk.listen(3) #设置最大连接数 ''' 服务器端不关闭,客户端输入exit后关闭,服务器接收下一个连接的内容,进行对话 ''' #方法一 # conn,addr=sk.accept() # print(conn) # while True: # data=conn.recv(1024) # if str(data,'utf8')=='': # conn,addr=sk.accept() # print(addr) # continue # print(str(data,'utf8')) # ssData=input('>>>') # conn.send(bytes(ssData,'utf8')) #方法二 while True: conn, addr = sk.accept() while True: try: data = conn.recv(1024) except Exception: break if str(data, 'utf8') == '': break print(str(data, 'utf8')) ssData = input('>>>') conn.send(bytes(ssData, 'utf8'))

客户端代码如下:client.py

import socket
sk2=socket.socket()
address=('127.0.0.1',8888)
sk2.connect(address)
print(sk2)
while True:
    cdata=input('>>>')
    if cdata=='exit':  #当客户端输入exit时,客户端结束当前连接
        break
    sk2.send(bytes(cdata,'utf8'))
    crdata=sk2.recv(1024)
    print(str(crdata,'utf-8'))
sk2.close()

调试时需要开启Allow parallet run 选项,,在pycharm中   Run -> Edit Configurations -> Allow parallel run(右上角)

猜你喜欢

转载自www.cnblogs.com/yangzhen-ahujhc/p/12309716.html