【socket网络编程】(二)client和server实现通信

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_39589455/article/details/95459681

在这里插入图片描述

  • server端编程:
    随时都要处于监听的状态和服务的状态

    每个应用程序占用一个端口

依程序代码为例,按以上步骤来进行通信:

#client端:
import socket
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#指明 IPv4 、协议tcp
client.connect(('127.0.0.1', 8000))#client端明确指明IP地址
while True:
    re_data = input()
    client.send(re_data.encode("utf8"))
    data = client.recv(1024)
    print(data.decode("utf8"))

#server端:
import socket

server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#指明 IPv4 、协议tcp
server.bind(('0.0.0.0', 8000))#通过IP也可以访问,写成127.0.0.1则通过本机局域网的ip则访问不到,默认端口8000
server.listen()#监听
sock, addr = server.accept()#一旦接收到用户的连接请求后就返回一个sock和address

#获取从客户端发送的数据
#一次获取1k的数据
while True:
    data = sock.recv(1024)#获取数据
    print(data.decode("utf8"))#转换成utf8字符串格式
    re_data = input()#控制台输入,返回为 string 类型
    sock.send(re_data.encode("utf8"))

猜你喜欢

转载自blog.csdn.net/weixin_39589455/article/details/95459681