zoukankan      html  css  js  c++  java
  • 网络编程

    网络编程:

      软件:
        客户端:   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()#关闭服务器
  • 相关阅读:
    HTML元素解释
    Java命名规范
    HDU 1058 Humble Numbers(DP,数)
    HDU 2845 Beans(DP,最大不连续和)
    HDU 2830 Matrix Swapping II (DP,最大全1矩阵)
    HDU 2870 Largest Submatrix(DP)
    HDU 1421 搬寝室(DP)
    HDU 2844 Coins (组合背包)
    HDU 2577 How to Type(模拟)
    HDU 2159 FATE(二维完全背包)
  • 原文地址:https://www.cnblogs.com/wqzn/p/9580637.html
Copyright © 2011-2022 走看看