Julia 1.0

Sockets




julia

Sockets

Sockets.connect विधि

connect([host], port::Integer) -> TCPSocket

पोर्ट port पर होस्ट host से कनेक्ट करें।

source

Sockets.connect विधि

connect(path::AbstractString) -> PipeEndpoint

path पर नामित पाइप / UNIX डोमेन सॉकेट से कनेक्ट करें।

source

Sockets.listen विधि

listen([addr, ]port::Integer; backlog::Integer=BACKLOG_DEFAULT) -> TCPServer

addr द्वारा निर्दिष्ट पते पर पोर्ट पर सुनो। डिफ़ॉल्ट रूप से यह केवल localhost पर सुनता है। सभी इंटरफेस पर सुनने के लिए उपयुक्त के रूप में IPv6(0) IPv4(0) या IPv6(0) करें। backlog यह निर्धारित करता है कि सर्वर को अस्वीकार करने के लिए शुरू होने से पहले कितने कनेक्शन लंबित हो सकते हैं ( accept नहीं कहा जाता है)। backlog का डिफ़ॉल्ट मान 511 है।

source

Sockets.listen विधि

listen(path::AbstractString) -> PipeServer

नामित पाइप / UNIX डोमेन सॉकेट पर बनाएं और सुनें।

source

Sockets.getaddrinfo

getalladdrinfo(host::AbstractString, IPAddr=IPv4) -> IPAddr

निर्दिष्ट IPAddr प्रकार के host का पहला IP पता हो जाता है। ऑपरेटिंग सिस्टम के अंतर्निहित getaddrinfo कार्यान्वयन का उपयोग करता है, जो DNS लुकअप कर सकता है।

source

Sockets.getipaddr

getipaddr() -> IPAddr

स्थानीय मशीन का आईपी पता प्राप्त करें।

उदाहरण

julia> getipaddr()
ip"192.168.1.28"
source

Sockets.getalladdrinfo फ़ंक्शन

getalladdrinfo(host::AbstractString) -> Vector{IPAddr}

host सभी IP पते प्राप्त host । ऑपरेटिंग सिस्टम के अंतर्निहित getaddrinfo कार्यान्वयन का उपयोग करता है, जो DNS लुकअप कर सकता है।

उदाहरण

julia> getalladdrinfo("google.com")
2-element Array{IPAddr,1}:
 ip"172.217.6.174"
 ip"2607:f8b0:4000:804::200e"
source

Sockets.getnameinfo फ़ंक्शन

getnameinfo(host::IPAddr) -> String

ऑपरेटिंग सिस्टम के अंतर्निहित getnameinfo कार्यान्वयन का उपयोग करके होस्टनाम और सेवा को वापस करने के लिए आईपी पते के लिए रिवर्स-लुकअप करता है।

उदाहरण

julia> getnameinfo(Sockets.IPv4("8.8.8.8"))
"google-public-dns-a.google.com"
source

Sockets.getsockname फ़ंक्शन

getsockname(sock::Union{TCPServer, TCPSocket}) -> (IPAddr, UInt16)

आईपी ​​एड्रेस प्राप्त करें और दिए गए सॉकेट को पोर्ट करें।

source

Sockets.getpeername

getpeername(sock::TCPSocket) -> (IPAddr, UInt16)

IP पता और दूरस्थ समापन बिंदु का पोर्ट प्राप्त करें जो दिए गए सॉकेट से जुड़ा है। केवल कनेक्टेड टीसीपी सॉकेट के लिए मान्य।

source

Sockets.IPv4 प्रकार

IPv4(host::Integer) -> IPv4

IP पते से एक IPv4 ऑब्जेक्ट लौटाता है जिसे host एक Integer रूप में स्वरूपित करता है।

julia> IPv4(3223256218)
ip"192.30.252.154"
source

Sockets.IPv6 प्रकार

IPv6(host::Integer) -> IPv6

IP पते से एक IPv6 ऑब्जेक्ट लौटाता है जिसे host ने एक Integer रूप में स्वरूपित किया है।

julia> IPv6(3223256218)
ip"::c01e:fc9a"
source

Sockets.TCPSocket प्रकार

TCPSocket(; delay=true)

Libuv का उपयोग करके एक टीसी सॉकेट खोलें। यदि delay सही है, तो लिबव्यू सॉकेट के फ़ाइल डिस्क्रिप्टर के पहले bind कॉल तक पहुंचने में देरी करता है। TCPSocket में सॉकेट की स्थिति को दर्शाने के साथ-साथ इसके भेजने / प्राप्त करने वाले बफ़र्स को दर्शाने के लिए विभिन्न क्षेत्र हैं।

source

Sockets.UDPSocket प्रकार

UDPSocket()

Libv का उपयोग करके एक यूडीपी सॉकेट खोलें। UDPSocket में सॉकेट की स्थिति को दर्शाने के लिए विभिन्न क्षेत्र हैं।

source

Sockets.accept फ़ंक्शन

accept(server[,client])

दिए गए सर्वर पर एक कनेक्शन स्वीकार करता है और क्लाइंट के लिए एक कनेक्शन लौटाता है। एक निर्विवाद क्लाइंट स्ट्रीम प्रदान की जा सकती है, जिस स्थिति में इसका उपयोग नई स्ट्रीम बनाने के बजाय किया जाएगा।

source

Sockets.listenany

listenany([host::IPAddr,] port_hint) -> (UInt16, TCPServer)

एक प्रारंभिक बिंदु के रूप में संकेत का उपयोग करते हुए, किसी भी बंदरगाह पर एक TCPServer बनाएं। सर्वर और सर्वर पर ही बनाया गया था जो वास्तविक पोर्ट का एक tuple देता है।

source

Base.bind फंक्शन

bind(socket::Union{UDPSocket, TCPSocket}, host::IPAddr, port::Integer; ipv6only=false, reuseaddr=false, kws...)

दिए गए host:port को बाइंड socket host:port । ध्यान दें कि 0.0.0.0 सभी उपकरणों पर सुनेंगे।

  • ipv6only पैरामीटर दोहरी स्टैक मोड को अक्षम करता है। यदि ipv6only=true , केवल एक IPv6 स्टैक बनाया जाता है।
  • यदि reuseaddr=true , एकाधिक थ्रेड या प्रक्रियाएँ बिना किसी त्रुटि के एक ही पते पर बाइंड हो सकती हैं यदि वे सभी reuseaddr=true सेट reuseaddr=true , लेकिन बाइंड करने के लिए केवल अंतिम कोई ट्रैफ़िक प्राप्त करेगा।
source
bind(chnl::Channel, task::Task)

एक कार्य के साथ chnl के जीवनकाल को संबद्ध करें। कार्य समाप्त होने पर Channel chnl स्वतः बंद हो जाता है। कार्य में कोई भी अनकहा अपवाद chnl पर सभी वेटरों को प्रचारित किया जाता है।

chnl वस्तु को कार्य समाप्ति से स्वतंत्र रूप से बंद किया जा सकता है। पहले से बंद Channel ऑब्जेक्ट्स पर समाप्त कार्यों का कोई प्रभाव नहीं है।

जब कोई चैनल कई कार्यों के लिए बाध्य होता है, तो समाप्त करने वाला पहला कार्य चैनल को बंद कर देगा। जब कई चैनल एक ही कार्य के लिए बाध्य होते हैं, तो कार्य की समाप्ति सभी बाध्य चैनलों को बंद कर देगी।

उदाहरण

julia> c = Channel(0);

julia> task = @async foreach(i->put!(c, i), 1:4);

julia> bind(c,task);

julia> for i in c
           @show i
       end;
i = 1
i = 2
i = 3
i = 4

julia> isopen(c)
false
julia> c = Channel(0);

julia> task = @async (put!(c,1);error("foo"));

julia> bind(c,task);

julia> take!(c)
1

julia> put!(c,1);
ERROR: foo
Stacktrace:
[...]
source

Sockets.send फंक्शन

send(socket::UDPSocket, host, port::Integer, msg)

host:port करने के लिए socket पर msg भेजें host:port

source

Sockets.recv फंक्शन

recv(socket::UDPSocket)

निर्दिष्ट सॉकेट से एक यूडीपी पैकेट पढ़ें, और प्राप्त बाइट्स वापस करें। यह कॉल ब्लॉक है।

source

Sockets.recvfrom फंक्शन

recvfrom(socket::UDPSocket) -> (address, data)

निर्दिष्ट सॉकेट से एक यूडीपी पैकेट पढ़ें, (address, data) का एक टपल वापस लौटाएं, जहां address आईपीवी 4 या आईपीवी 6 के रूप में उपयुक्त होगा।

source

Sockets.setopt फ़ंक्शन

setopt(sock::UDPSocket; multicast_loop = nothing, multicast_ttl=nothing, enable_broadcast=nothing, ttl=nothing)

UDP सॉकेट विकल्प सेट करें।

  • multicast_loop : मल्टीकास्ट पैकेट के लिए लूपबैक (डिफ़ॉल्ट: true )।
  • multicast_ttl : मल्टीकास्ट पैकेट के लिए टीटीएल (डिफ़ॉल्ट: nothing )।
  • enable_broadcast : ध्वज को true सेट किया जाना चाहिए, यदि सॉकेट प्रसारण संदेशों के लिए उपयोग किया जाएगा, या अन्यथा UDP सिस्टम एक एक्सेस त्रुटि (डिफ़ॉल्ट: false ) लौटाएगा।
  • ttl : सॉकेट पर भेजे गए पैकेटों का समय-समय पर लाइव (डिफ़ॉल्ट: nothing )।
source