zoukankan      html  css  js  c++  java
  • 初识socket

    通过简单学习C/S网络构架与网络通信流程.知道:端口+IP能够确定一台电脑上的某一个应用程序.

    以访问京东为例,可以分析出需要一个服务器端和一个客户端.

    Server端:

    #导入socket模块
    import socket
    server = socket.socket()            #创建socket对象,创建了一个手机
    ip_port = ('192.168.12.11',8002)    #给程序设置一个ip地址和端口号,买了个手机卡
    server.bind(ip_port)                #绑定ip地址和端口,插卡
    server.listen()                     #监听ip地址和端口,简称开机
    print('111111')                     #测试程序等待执行到哪
    conn,addr = server.accept()         #等待建立连接, conn是连接通道,addr是客户端的地址,阻塞程序
    print('222222')
                                        #服务端通过conn连接通道来收发消息,通过recv方法,recv里面的参数是字节(B),1024的意思1024B=1KB
    from_client_msg = conn.recv(1024)
    
    print('高旺说:',from_client_msg.decode('utf-8'))
    
    to_client_msg = input('高旺的女朋友说:')
    
    conn.send(to_client_msg.encode('utf-8')) #回复消息:通过send方法,参数必须是字节类    型的,
    
    conn.close()                         #关闭通道,关电话,通过close方法
    server.close()                       #关闭socket对象,关机
                                        
    

    注:服务器端是通过通道(conn)来回复消息(发送消息)  

    Client端:

    #导入socket
    import socket                                       #创建一个socket对象
    client = socket.socket()                         #找到服务端的ip地址和端口
    server_ip_port = ('192.168.12.11',8002)  
    client.connect(server_ip_port)          #连接服务端的应用程序,通过connect方法,参数是服务端的ip地址和端口,打电话
    to_server_msg = input('高旺说:' client.send(to_server_msg.encode('utf-8')) #发消息,用的send方法,但是调用者是client的socket对象
    from_server_msg = client.recv(1024)
    print('高旺的女朋友说:',from_server_msg.decode('utf-8'))
    client.close()

     注:客户端是建立的对象.send信息

    2.  一直对话的程序

          server收一个发一个
          client发一个收一个
    服务器端:
    import socket
    server = socket.socket()
    ip_port = ("127.0.0.1",8006)
    server.bind(ip_port)
    server.listen()
    conn,addr = server.accept()#等待建立连接
    while 1:
        from_client_msg = conn.recv(1024)
        print("客户端说:",from_client_msg.decode("utf-8"))
        server_send_msg = input("服务器说:")
        conn.send(server_send_msg.encode("UTF-8"))
    

      服务器建立对象,绑定ip和端口,监听;接受建立通道和地址;

    客户端:

    import socket
    client = socket.socket()
    client.connect(("127.0.0.1",8006)) #建立连接
    while 1:
        to_server_msg = input("客户端说:")
        client.send(to_server_msg.encode("utf-8"))
        from_server_msg = client.recv(1024).decode("utf-8")
        print("服务器说:",from_server_msg)
    

      客户端对象,连接服务器ip和端口.

  • 相关阅读:
    Java异常
    docker安装和介绍(基于centos 7)
    centos7搭建gitlab版本控制系统
    webstorm快捷键使用
    Extjs-note
    mak iso
    windows上的硬盘挂载到linux上的步骤方法
    【JAVA笔记——术】JSP中乱码问题的解决方法
    PHP获得IP方式
    ubuntu安装hadoop 若干问题的解决
  • 原文地址:https://www.cnblogs.com/kevin-red-heart/p/10222672.html
Copyright © 2011-2022 走看看