首页 > 其他 > 详细

基于TCP协议的套接字编程

时间:2019-06-26 16:40:53      阅读:104      评论:0      收藏:0      [点我收藏+]

基于TCP协议的套接字编程

socket

socket是应用层与TCP/IP协议通信的中间软件抽象层,它是一组接口。

基于TCP协议的套接字编程(循环)

服务端

import socket

#买手机
phone=socket.socket()

#插入/绑定手机卡
phone.bind(('127.0.0.1',8080))

#开机
phone.listen(5) #半连接池,限制的是请求数

#等待电话连接
print('start....')
while True:
    conn,client_addr=phone.accept()
    print(conn)
    print('已经有一个连接建立成功',client_addr)
    
    while True:
        try:
            print('服务端正在收数据...')
            data=conn.recv(1024)
            if len(data)==0:break
            print('来自客户端的数据',data)
            conn.send(data.upper())
        except ConnectionResetError:
            break
    #挂掉电话连接
    conn.close()

#关机
phone.close()
            

客户端1

import socket

#买手机
phone=socket.socket()

#拨电话
phone.connect(('127.0.0.1',8080))

#通信:发\收消息
while True:
    msg=input('>>>').strip()
    if len(msg)==0:continue
        phone.send(msg.encode('utf-8'))
        
        data=phone.recv(1024)
        print(data)
#关闭
phone.close()

客户端2

import socket

#买手机
phone=socket.socket()

#拨电话
phone.connect(('127.0.0.1',8080))

#通信:发\收消息
while True:
    msg=input('>>>').strip()
    if len(msg)==0:continue
        phone.send(msg.encode('utf-8'))
        
        data=phone.recv(1024)
        print(data)
#关闭
phone.close()

注意:必须先启动服务端,开启端口后才能再开启客户端。

在没有并发通信时,客户端1和服务器建立连接,端口被占用,客户端2向服务器发送信息时,服务器收不到信息。只有当客户端1断开后,客户端2才能向服务器发送消息。

基于TCP协议的套接字编程

原文:https://www.cnblogs.com/zhoajiahao/p/11090630.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!