python 学习总结3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 学习总结3相关的知识,希望对你有一定的参考价值。

今天学习了socket的一些知识,主要为socket模块中socket()类及其父类的一些方法

只要包括:

sock=socket.socket()

sk.bind(address)  #绑定自己的套接字信息

sk.listen([backlog]) #保持监听,直到有连接信息

sk.accept() #接收连接,并返回(socket object, address info)信息
sk.connect(address) #根据套接字信息连接对方的套接字

sk.sendall(string) #向对方发送信息,但必须为字节

sk.recv(bufsize) #接收对方的信息

sk.close() #关闭套接字

  

根据以上方法,我写了一个聊天小程序,如下

服务端

import socket

sock=socket.socket()
sock.bind((‘127.0.0.1‘,8001))

#保持监听
sock.listen(5)
while 1:
    #等待对方的连接
    con,address=sock.accept()

    #连接成功后向对方发送请求信息
    con.sendall(bytes(‘对方已在线,请输入信息,当输入q时断开连接‘,encoding=‘utf-8‘))

    #开始聊天
    while 1:

        #接收信息
        ming=con.recv(1024)
        xiao_ming=str(ming,encoding=‘utf-8‘)

        #对方断开连接
        if xiao_ming==‘q‘:
            print(‘对方(小明)已断开连接‘)
            break

        print(‘小明(对方):‘+xiao_ming)

        #发送信息
        hong=input(‘小红(你)  :‘)
        con.sendall(bytes(hong,encoding=‘utf-8‘))

客户端

import socket
soc=socket.socket()

#根据地址信息连接对方
soc.connect((‘127.0.0.1‘,8001))

#接收对方的请求信息
mas=soc.recv(1024)
massage=str(mas,encoding=‘utf-8‘)
print(massage)

#开始聊天
while 1:
    #发送信息
    ming=input(‘小明(你)  :‘)
    soc.sendall(bytes(ming,encoding=‘utf-8‘))

    #断开连接条件
    if ming==‘q‘:
        print(‘你已断开连接,若想发送信息请重新连接‘)
        break

    #接收信息
    hon=soc.recv(1024)
    hong=str(hon,encoding=‘utf-8‘)
    print(‘小红(对方):‘+hong)

soc.close()

  在调试过程中,发现自己与自己对话真是一种奇妙与悲哀的感觉

 

以上是关于python 学习总结3的主要内容,如果未能解决你的问题,请参考以下文章

python常用代码片段总结

Python 函数声明和调用

python 机器学习有用的代码片段

线程学习知识点总结

201621123054《Java程序设计》第九周学习总结

201621123037 《Java程序设计》第9周学习总结