TCP客户端服务器(Python)

TCP客户端程序:

import socket
 
 
def main():
    #  创建tcp
    tcp_client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 
    #  链接套接字
    # sever_ip=input("输入对方ip:")
    # sever_port=int(input("输入对方端口:"))
    # sever_addr=(sever_ip,sever_port)
    tcp_client_socket.connect(sever_addr)
    while True:
        #  数据发送
        tcp_data=input("输入发送的内容:")
        tcp_client_socket.send(tcp_data.encode("utf-8"))
 
        #  服务器返回数据
        rev_data=tcp_client_socket.recv(1024)
        print("服务器返回的消息:",rev_data)
    #  关闭套接字
    tcp_client_socket.close()
if __name__ == '__main__':
    main()

TCP服务器程序:

当TCP客户端实现与服务器连接时,服务器给客户端创建一个新的服务套接字,类似10010客服,当你打通10010服务时,系统会随机给你分配一个客服与你交流。

import socket
 
 
def main():
    #  创建套接字
    tcp_sever_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 
    #  绑定本地信息
    tcp_sever_socket.bind(('',7890))
 
    #  让默认是套接字主动变为被动(listen)三次握手在这里完成
    tcp_sever_socket.listen(128)
 
    while True:
        #  等待客户端的链接
        print("等待新的客户端到来")
        new_client_socket,client_addr=tcp_sever_socket.accept()  #  服务套接字
        print("客户端已经到来:%s"%str(client_addr))
 
        while True:
            #  接受客户端发过来的请求
            recv_data=new_client_socket.recv(1024)
            print("客户端发来的请求:%s"%recv_data)
            #  如果recv解阻塞,有两种方式
            #  1.客户端发来数据
            #  2.客户端close导致了recv解阻塞
            if recv_data:
                #回送一部分数据给客户端
                new_client_socket.send('hahhah'.encode("utf-8"))
            else:
                break
        #  关闭套接字
        new_client_socket.close()
        print("已经为这个客户端服务完毕")
    tcp_sever_socket.close()
if __name__ == '__main__':
    main()```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值