码迷,mamicode.com
首页 > 编程语言 > 详细

python核心第三版之网络编程

时间:2016-10-06 00:59:11      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:python   核心编程   

创建TCP服务器伪代码:

    s = socket()                    #创建服务器套接字

    s.bind()                        #套接字与地址绑定

    s.listen()                      #监听连接

    inf_loop:                       #服务器无限循环

        cs = s.accept()             #接受客户端连接,如果没有连接,则阻塞

        comm_loop:                  #通信循环

            cs.recv() / cs.send()   #会话 

        cs.close()                  #关闭客户端套接字

    s.close()                       #关闭服务器套接字

以下是代码:

#!/usr/bin/env python3
# encoding: utf-8

from socket import *
from time import ctime

HOST = ‘‘
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST, PORT)

tcpSerSock= socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)

while True:
    print(‘waiting for connection...‘)
    tcpCliSock, addr = tcpSerSock.accept()
    print(‘...connected from:‘, addr)

    while True:
        data = tcpSerSock.recv(BUFSIZE)
        if not data:
            break
        tcpSerSock.send(‘[%s] %s‘ % (bytes(ctime(), ‘uft-8‘), data))

    tcpSerSock.close()
tcpSerSock.close()

相应地创建TCP客户端伪代码:

    cs = socket()

    cs.connect()

    comm_loop:                      #通信循环

            cs.recv() / cs.send()   #会话 

    cs.close()                  #关闭客户端套接字

以下是实现代码:

#!/usr/bin/env python

# encoding: utf-8


from socket import *


HOST = ‘192.168.184.130‘

PORT = 21567

BUFSIZE = 1024

ADDR = (HOST, PORT)


tcpCliSock = socket(AF_INET, SOCK_STREAM)

tcpCliSock.connect(ADDR)

while True:

    data = input(‘>‘)

    if not data:

        break

    tcpCliSock.send(data)

    data = tcpCliSock.recv(BUFSIZE)

    if not data:

        break

    print(data)

tcpCliSock.close()

在这个最简单的服务器套接字程序基础上,可以充分地扩充。

        

python核心第三版之网络编程

标签:python   核心编程   

原文地址:http://2680395.blog.51cto.com/2670395/1858800

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!