zoukankan      html  css  js  c++  java
  • socket网络模块

    socket模块提供了一个用Python进行网络连接的库。

    套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将输入和输出(I/O)插入到网络中,并与网络中的其他应用程序进行通信。

    socket =  IP地址 + 端口号

    每台电脑都有唯一的IP地址,你可以通过互联网向你知道的IP地址的电脑发送数据,比如你通过QQ向我发送一个问候语,在我电脑上的QQ软件就会接收到你发给我的信息,那么QQ软件是怎么做到呢?很显然要给我电脑发送数据的第一个条件就是你必须要知道我的电脑ip地址(我登录的电脑QQ软件会获取我电脑的IP地址),而电脑上那么多软件,你电脑上的QQ软件怎么知道发送到具体的哪个软件,这时候端口的定义就是为了解决这个问题的,然后再通过具体账号送至我的QQ消息栏里面。

    端口定义:端口就是为了区分程序的标识符

    电脑上的端口分为两种,知名端口和动态端口:

    知名端口范围:0-1023

    动态端口范围:1024-65535

    查看windows电脑IP地址的指令:ipconfig

    查看windows电脑端口的指令:netstat - an

    TCP协议 = 协议 + IP + 端口


    实例:

    >>> import socket
    >>> socket.setdefaulttimeout(2)  #设置超时
    >>> s = socket.socket()  #创建实例
    >>> ip = "192.168.137.1"
    >>> s.connect((ip,21))  #连接服务器
    >>> s.send("您好".encode("GBK"))  #发送信息并设置编码格式
    4
    >>> info = s.recv(1024)  #读取服务器发来的信息并设置接收的最大字节1024
    >>> print(info)  #打印收到的信息
    b'xc4xfaxbaxc3xa3xa1'
    >>> print(info.decode("GBK"))  #解码输出
    您好!
  • 相关阅读:
    sql查询语句
    java网络编程实现两端聊天
    Thread和Runnable的子类调用
    接口和抽象类
    ObjectOutputStream和ObjectInputStream的简单使用
    HashMap遍历和使用
    InputStreamReader读取文件出现乱码
    Neural Network
    Logistic Regression 逻辑回归
    Linear Regression 线性回归
  • 原文地址:https://www.cnblogs.com/iBoundary/p/11469955.html
Copyright © 2011-2022 走看看