VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > 数据分析 >
  • 利用socket通信

利用socket通信
Socket对象提供了操作系统的send()、sendto()、recv和recvfrom()调用的接口。
文件类对象提供了python的read()、write()和readline()接口

TCP客户端代码

import socket
# 创建tcp套接字
sockfd = socket.socket()

# 发起连接
server_addr = ('127.0.0.1',1900)
sockfd.connect(server_addr)

# 收发消息
while True:
    data = input("请输入您要发送的内容:")
    if not data:
        break
    num=sockfd.send(data.encode())
    data = sockfd.recv(1024)
    peername=sockfd.getpeername()
    print("返回数据端地址:",peername,",自己的地址是:",sockfd.getsockname())
    print("发送了",num,"个字节的数据!")
    print("收到服务器的应答,内容为:",data.decode())
# 关闭
sockfd.close()

TCP服务端
import socket
# 创建流式套接字
sockfd = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#  绑定地址
sockfd.bind(('127.0.0.1', 1900))
#  设置监听
sockfd.listen(5)
#  等待处理客户端链接




while True:
    print("等待连接......")
    try:
        connfd, addr = sockfd.accept()
        print("与:", addr,"连接成功")
    except KeyboardInterrupt:
        print("退出服务")
        break
    # 收发消息
    while True:
        data = connfd.recv(1024)
        #  得到空则退出循环
        if not data:
            break
       
        print("收到%消息:" , data.decode())
        n = connfd.send('已收到消息,我们会及时处理!'.encode())
        print("发送了 %d 个字节数据" % n)
    connfd.close()
# 关闭套接字
sockfd.close()






相关教程