python socket编程客户端不输入任何内容,直接回车,服务端收不到任何消息

python socket编程客户端不输入任何内容,直接回车,服务端收不到任何消

在编写socket时碰到一个问题,客户端使用input使用户输入内容,当什么都不输入,直接回车,此时服务端并不能收到任何的消息,不知道是什么原因?麻烦大家帮忙看看。
server.py

import socket

IP_PORT=('localhost',6000)

while 1:
    ss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    ss.bind(IP_PORT)
    ss.listen(2)
    print('listening...')
    conn,addr=ss.accept()
    print('connected by %s' %(addr,))
    while 1:      
        try:
            conn.settimeout(10)
            client_data=conn.recv(1024)
            if client_data.decode('utf-8')=='1':
                conn.send(b'%s %s' %('您输入的是option是'.encode('utf-8'),client_data))
            elif client_data.decode('utf-8')=='2':
                conn.send(b'%s %s' %('您输入的是option是'.encode('utf-8'),client_data))
            elif client_data.decode('utf-8')=='bye':
                conn.send(b'%s %s \n%s' %('您输入的是option是'.encode('utf-8'),client_data,'BYE! see you next time'.encode('utf-8')))
                conn.close()
                break 
            elif client_data.decode('utf-8')=='':
                print(9999999999999999)
                conn.send('请输入内容'.encode('utf-8'))
            else:
                print(client_data.decode('utf-8').upper())
                conn.send('received'.encode('utf-8'))
        except socket.timeout:
            print('timeout...disconnect...')
            conn.close()
            break

client.py

import socket

IP_PORT=('localhost',6000)

cs=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
cs.connect(IP_PORT)
while 1:
    user_data=input('Please input>')
    cs.send(user_data.encode('utf-8'))
    server_info=cs.recv(1024)
    print('server_info',server_info.decode('utf-8'))
    if user_data=='bye':
        cs.close()
        break

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值