6-26学习记录

2018-06-27 09:45:15来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

 

SOCKET

                                                                                                                        ---小白121的记录笔记

简单的tcp即使通讯程序

PS:6月25日有tcp模板

socket通讯服务器:

from socket import *
HOST = ''
PORT = 12182
BUFSIZ = 1024
ADDR = (HOST,PORT)

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

try:
    while True:
        print('程序开始运行。。。')
        dialogue_clisock, ADDR = dialogue_serivce.accept()
        print('接收到来自%s的请求'%(ADDR,))
        while True:
            data = dialogue_clisock.recv(BUFSIZ) #接收客户机发来的信息
            if not data:
                break
            else:
                print('\n来自服务器%s的通讯: '%HOST,data.decode('utf-8')) #打印客户机对话信息
            accept_txt = input('''
            
    ------------------------------------
    通讯服务器: ''')

            dialogue_clisock.send(accept_txt.encode('utf-8')) #格式化信息并发给客户机
        dialogue_serivce.close()
except OSError: #更加优雅的报错退出方式
    dialogue_serivce.close()

 

socket通讯客户机:

from socket import *
HOST = 'localhost'
PORT = 12182
BUFSIZ = 1024
ADD = (HOST,PORT)

tcpClisock = socket(AF_INET,SOCK_STREAM)
try: #若服务器未开则关闭连接
    tcpClisock.connect(ADD)
except ConnectionRefusedError:
    tcpClisock.close()
    print('\n未检测出服务器 %s '%HOST)

try:
    while True:
        data = input('''
        
    -----------------------------------
    通讯客户机: ''')

        if not data:
            break
        tcpClisock.send(data.encode('utf-8')) #发送客户机信息
        data = tcpClisock.recv(BUFSIZ) #接收服务器信息
        if not data:
            break
        print('\n来自%s的回复:'%HOST,data.decode('utf-8')) #打印客户机信息

except OSError:
    tcpClisock.close()

 

以下为测试结果:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:第五章、基本数据类型

下一篇:题目:输出指定格式的日期。