Python程序设计之网络编程(2)

1.使用TCP实现终端通信

①服务器端

import socket
def main():
    words={"Hello":"Hello","Hi":"Hi"}
    HOST=''
    PORT=50007
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    #绑定socket
    s.bind((HOST,PORT))
    #监听
    s.listen(1)
    print('Listening at port:',PORT)
    conn,addr=s.accept()
    print('Connect by:',addr)
    while True:
        data=conn.recv(1024)
        data=data.decode()
        if not data:
            break
        print('Received message:',data)
        conn.sendall(words.get(data,'Nothing').encode())
    conn.close()
    s.close()

if __name__ == '__main__':
    main()

②客户端

import socket
import sys
def main():
    #服务器端IP
    HOST='127.0.0.1'
    #服务器端端口号
    PORT=50007
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    try:
        s.connect((HOST,PORT))
    except Exception as e:
        print('Server not found or not open!')
        sys.exit()
    while True:
        c=input('Input the content you want to send:')
        #发送数据
        s.sendall(c.encode())
        #从服务器端接受数据
        data=s.recv(1024)
        data=data.decode()
        print('Received:',data)
        if c.lower()=='bye':
            break
    s.close()




if __name__ == '__main__':
    main()
2.学习笔记

1.客户端连接方式,使用元组形式建立连接

s.connect((HOST,PORT))

2.服务器端使用元组形式绑定端口号和端口

    #绑定socket
    s.bind((HOST,PORT))

3.初始化套接字:

    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

4.从服务器端接收数据

        data=conn.recv(1024)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值