python 网络编程 tcp

TCP客户端和服务端

服务端

import   socket

"""
    import   socket
from socket  import  SOL_SOCKET,SO_REUSEADDR

"""
   import   socket
from socket  import  SOL_SOCKET,SO_REUSEADDR

"""
    1.建立socket对象
    2.绑定ip和端口,元组形式传递
    3.监听
    4.接受链接
    5.接收客户端信息
    6.返回客户端信息
    7.关闭连接(关闭客户端套接字,关闭服务端套接字)"""
server=socket.socket()              #建立socket对象
server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)#S.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) 
# 这里value设置为1,表示将SO_REUSEADDR标记为TRUE,
# 操作系统会在服务器socket被关闭或服务器进程终止后马上释放该服务器的端口,否则操作系统会保留几分钟该端口。
server.bind(("127.0.0.1",9000))     #绑定ip和端口,元组形式传递
server.listen()                     #监听
conn,addr=server.accept()           #接受链接
ret=conn.recv(1024)                 #接收客户端信息
conn.send("接收成功")                #返回客户端信息
conn.close()                        #关闭客户端套接字
sk.close()                          #关闭服务端套接字

客户端


import   socket
"""socket  客户端
    1.建立客户端套接字
    2.链接服务器
    3.发送信息
    4.接收返回信息
    5.断开连接(关闭客户端套接字)"""
client=socket.socket()
client.connect(("127.0.0.1",9000))
client.send("发送数据")
client.recv(1024)
client.close()

服务端循环接收消息

from   socket    import   *
tcp_server=socket(AF_INET,SOCK_STREAM)
tcp_server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
tcp_server.bind(("127.0.0.1",8888))
tcp_server.listen(5)
"""循环读取消息"""
while   True:
    print("等待接入链接........")
    conn,addr=tcp_server.accept()
    print("接入新的链接")
    while  True:
        """循环接收消息,异常处理(当可以端异常断开时候,能够正常接入下一个链接)"""
        try:
            print("开始接收消息")
            data=conn.recv(1024)
            if not data: #接收数据为空的时候  认为接收完成,并且断开链接
                print("数据接收完毕")
                conn.close()
                break
            print(data)
            conn.send(data.upper())
        except  Exception  as e:
            break
    conn.close()
tcp_server.close()




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值