• python tcp


    tcp服务器端:

    创建和运行TCP服务端一般需要五个步骤:

    1:创建Socket对象,绑定Socket到本地ip与端口(bind)

    2:开始监听连接(listen)

    3:进入循环,不断接收客户端的连接请求(accept)

    4:接收传来的数据,并发送给对方数据(recv,send())

    5:传输完毕后,关闭Socket (close)

    如下为server代码

    #coding:utf-8
    import socket
    import threading
    import time

    #该函数为处理函数
    def dealClient(sock,addr):

    print('Accept new connection from %s:%s' % addr)

    #向客户端发送数据
    sock.send(b'Hello,I am server!')

    while True:
    #接收客户端数据
    data =sock.recv(1024)
    time.sleep(1)
    if not data or data.decode('utf-8') == 'exit':
    break

    print '-->>%s!' % data.decode('utf-8')
    #向客户端发送数据
    sock.send(('Loop_Msg: %s!' % data.decode('utf-8')).encode('utf-8'))

    sock.close()
    print('Connection from %s:%s closed.' % addr)


    if __name__ == '__main__' :

    #创建socket对象(tcp)
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    #绑定服务器和要监听的端口
    s.bind(('127.0.0.1',9999))
    #监听
    s.listen(5)

    print('Waiting for connection...')

    while True :

    #接受客户端连接
    scok ,addr = s.accept()
    #创建新线程来处理tcp连接
    t = threading.Thread(target = dealClient,args=(scok,addr))

    t.start()

    tcp客户端

    tcp客户端的创建和运行需要三个步骤:

    1:创建socket对象,连接服务端地址(connect)

    2:连接后发送数据和接收数据

    3:传输完毕,关闭socket(close)

    如下代码为client端代码

    #coding:utf-8

    import socket

    #初始化socket对象
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    #连接服务器的地址和端口
    s.connect(('127.0.0.1',9999))

    #接收1024字节大小的消息
    print('---->>'+s.recv(1024).decode('utf-8'))
    #向服务器发送消息
    s.send(b'Hello,I am a client')

    #接收1024字节大小的消息
    print('--->>'+s.recv(1024).decode('utf-8'))

    s.send(b'exit')

    #关闭连接
    #切勿忘记关闭连接(如果忘记会产生长连接)
    s.close()

  • 相关阅读:
    面试回忆录(一)
    2013国内IT行业薪资对照表【技术岗】
    腾讯2013笔试题—web前端笔试题 (老题练手)
    Nicholas C. Zakas(JS圣经:JavaScript高级程序设计作者)如何面试前端工程师
    Js中 关于top、clientTop、scrollTop、offsetTop的用法
    JavaScript中的面向对象的讨论(转)
    javascript中的原型理解总结
    关于Javascript语言中this关键字(变量)的用法
    window.clearInterval与window.setInterval的用法(
    JavaScript经典魔力代码
  • 原文地址:https://www.cnblogs.com/paulversion/p/8316816.html
Copyright © 2020-2023  润新知