Python搭建TCP服务器和客户端

服务器

import socket
#创建套接字
tcp_server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcp_server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
#获取本机的ip地址和端口号
ip = "127.0.0.3"
port = 6666
#绑定ip地址和制定的端口号

tcp_server.bind((ip,port))
#开启监听模式,把服务器变成被动接受状态
tcp_server.listen(128)

# tcp_server.listen(128)
print("等待连接>>>>>>")
#开始接受客户端的请求,并把系统分配的用于通信的新的套接字信息和端口信息进行解包
new_socket,new_addr = tcp_server.accept()

if new_socket:
    print('connected from:', new_addr)

while True:
    if new_socket:
        data = new_socket.recv(1024).decode("gbk")
    
    # if data=='0':
    #     new_socket.close()
    #     print("等待连接>>>>>>")
    #     new_socket,new_addr = tcp_server.accept()
        
    print(data,'jk')
    new_socket.send(data.encode("gbk"))
    if data=='0':
        new_socket.close()
        print("等待连接>>>>>>")
        new_socket,new_addr = tcp_server.accept()

tcp_server.close()

客户端

import socket

tcp_client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip = "127.0.0.5"
port = 12351
address = tcp_client.bind((ip,port))
tcp_client.connect(("127.0.0.3", 6666))

    # 请求连接服务器
    # 发送的内容,要经过gbk格式的编码
while True:
    data = input('>>> ')

    content = data.encode("gbk")
    # 将内容发送出去
    tcp_client.send(content)

    data2 = tcp_client.recv(1024).decode("gbk")
    print(data2)
    # if data=='0':  #直接break,就会出现套接字地址端口不释放,因为要关掉连接的话,
    #     break      #要再次发送请求得到服务器的拒绝才会真正断掉连接
    if data=='0':
        data2 = tcp_client.recv(1024).decode("gbk")
        break
    #print(data2)

tcp_client.close()
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值