socket.socket ()

socket.socket ( family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None )

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ сокСт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ сСмСйство адрСсов family, Ρ‚ΠΈΠΏ сокСта type ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° proto. БСмСйство адрСсов Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ AF_INET (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), AF_INET6, AF_UNIX, AF_CAN, AF_PACKET ΠΈΠ»ΠΈ AF_RDS. Π’ΠΈΠΏ сокСта Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ SOCK_STREAM (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), SOCK_DGRAM, SOCK_RAW ΠΈΠ»ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… констант SOCK_. НомСр ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½, ΠΈΠ»ΠΈ Π² случаС, ΠΊΠΎΠ³Π΄Π° сСмСйство адрСсов AF_CAN, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· CAN_RAW, CAN_BCM, CAN_ISOTP ΠΈΠ»ΠΈ CAN_J1939.

Если ΡƒΠΊΠ°Π·Π°Π½ΠΎ fileno, значСния для family, type ΠΈ proto автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ дСскриптора. АвтоопрСдСлСниС ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π²Ρ‹Π·Π²Π°Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с явными Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ сСмСйства family, Ρ‚ΠΈΠΏΠ° type ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° proto. Π­Ρ‚ΠΎ влияСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Python прСдставляСт, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ socket.getpeername (), Π½ΠΎ Π½Π΅ фактичСский рСсурс ОБ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ socket.fromfd (), fileno Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ сокСт, Π° Π½Π΅ Π΅Π³ΠΎ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ отсоСдинСнный сокСт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ socket.close ().

Π’Π½ΠΎΠ²ΡŒ созданный сокСт Π½Π΅ наслСдуСтся.

Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ событиС Π°ΡƒΠ΄ΠΈΡ‚Π° socket.__new__ с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ self, family, type, protocol.

ИзмСнСно Π² вСрсии 3.3: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ сСмСйство AF_CAN. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ сСмСйство AF_RDS.

ИзмСнСно Π² вСрсии 3.4: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» CAN_BCM.

ИзмСнСно Π² вСрсии 3.4: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ сокСт Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ наслСдуСтся.

ИзмСнСно Π² вСрсии 3.7: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» CAN_ISOTP.

ИзмСнСно Π² вСрсии 3.7: Когда Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ SOCK_NONBLOCK ΠΈΠ»ΠΈ SOCK_CLOEXEC ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ Ρ‚ΠΈΠΏΡƒ type, ΠΎΠ½ΠΈ ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‚ΡΡ, ΠΈ socket.type Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡ… ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ. Они ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ систСмный Π²Ρ‹Π·ΠΎΠ² socket ().

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ сокСт Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… SOCK_NONBLOCK, Π½ΠΎ для sock.type Π±ΡƒΠ΄Π΅Ρ‚ установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ socket.SOCK_STREAM.

sock = socket.socket(
    socket.AF_INET,
    socket.SOCK_STREAM | socket.SOCK_NONBLOCK)

ИзмСнСно Π² вСрсии 3.9: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» CAN_J1939.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

sockobj = socket(AF_INET, SOCK_STREAM)

Last updated

Was this helpful?