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通信流程和一个简单的网络通信程序的主要内容,如果未能解决你的问题,请参考以下文章

Socket通信流程

C#:Socket通信

编写一个网络通信程序流程是啥

Scoket (最简单的Scoket通信)

socket通信

linux系统socket通信编程实践