• 网络编程


    网络编程:

      软件:
        客户端:   cs架构      浏览器:    bs架构
      如何实现相互通信:
        1.编写两个软件,两个软件之前的相互通信
        2.用两个网线连接起来
        3.使用交换机相互通信(局域网,使用ipconfig在Windows中,在其他操作系统中用ifconfig)
        4.交换机和多个路由器
        5.公网ip
    

    上代码

    服务端:

    import socket
    server = socket.socket() #创建服务器对象
    server.bind(("192.168.142.1",8001))#绑定ip和端口
    server.listen(5)#服务器只接受五次请求
    coon,addr = server.accept()#等待客户端来连接
    print("已经连接了客户端",coon,addr)
    #coon是客户端和服务端连接的对象,addr是客户端的地址
    data = coon.recv(1024)#接收客户端发来的消息,接受1024个字节
    print(data)
    coon.send(b"hai")#服务端收到消息后发送消息给客户端
    coon.close()#与客户端断开连接
    server.close()#关闭服务器
    

    客户端:

    import socket
    client = socket.socket()#创建socket通信
    client.connect(("192.168.142.1",8001))#向服务器发送请求
    content = input("Input")
    client.send(content.encode('utf8'))
    # client.send(b"I am a client")#连接成功后向服务器发送信息
    data = client.recv(1024)#收到服务器返回的字节
    print(data)
    client.close()#关闭客户端

    举例:

    服务端:
    server = socket.socket()
    
    server.bind(('192.168.13.116',8001))
    
    server.listen(5)
    
    while True:
        conn,addr = server.accept()
        # 字节类型
        while True:
            data = conn.recv(1024) # 阻塞
            if data == b'exit':
                break
            response = data + b' SB'
            conn.send(response)
    
        conn.close()
    
    
    
    客户端:sk.connect(('192.168.13.116',8001))
    
    while True:
        name = input("请输入姓名:")
        sk.send(name.encode('utf-8')) # 字节
        if name == 'exit':
            break
    
        response = sk.recv(1024) # 字节
        print(response.decode('utf-8'))
    
    sk.close()
    import socket
    server = socket.socket() #创建服务器对象
    server.bind(("192.168.142.1",8001))#绑定ip和端口
    server.listen(5)#服务器只接受五次请求
    coon,addr = server.accept()#等待客户端来连接
    print("已经连接了客户端",coon,addr)
    #coon是客户端和服务端连接的对象,addr是客户端的地址
    data = coon.recv(1024)#接收客户端发来的消息,接受1024个字节
    print(data)
    coon.send(b"hai")#服务端收到消息后发送消息给客户端
    coon.close()#与客户端断开连接
    server.close()#关闭服务器
  • 相关阅读:
    Android学习笔记触摸事件
    Android学习笔记长按事件的处理
    Android学习笔记物理按键事件处理
    JAVA爬虫入门学习
    SpringBoot的服务入门(Get、Post)
    spring boot 入门学习
    Java 爬虫简单起步
    哇 好久不写C 忘得差不多
    Winfrom窗体应用程序___CefSharp的基础应用
    Winfrom窗体应用程序___DataGridView
  • 原文地址:https://www.cnblogs.com/wqzn/p/9580637.html
Copyright © 2020-2023  润新知