socket通信流程和一个简单的网络通信程序
Posted 风雪泪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(右上角)
以上是关于socket通信流程和一个简单的网络通信程序的主要内容,如果未能解决你的问题,请参考以下文章