Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
System
  • Grundläggande datorkunskaper
  • Linux
  • Mac OS
  • Ubuntu
  • Unix
  • Windows
  • Windows Vista
  • Windows XP
  • * Dator Kunskap >> System >> Unix >> Content

    Unix domänsockets Tutorial

    Unix erbjuder en teknik som kallas domänsockets att underlätta kommunikationen mellan olika processer och även olika tillämpningar . En av de underligheter i en Unix domain socket är att det verkar att ansökan ska vara en fil . Dock är uttaget aldrig lagras på hårddisken och dess plats i filsystemet används helt enkelt som en markör . Data kan skrivas till och läsas från en Unix domain socket från de flesta stora programmeringsspråk som stöder uttag . Ruby gör processen särskilt lätt , vilket gör att begreppen skall påvisas utan att skymmas av den fulla komplexiteten i socket programmering i C + + . Instruktioner
    1

    öppna två nya dokument med din favorit texteditor . Att hålla saker rakt , gå vidare och spara den första med namnet " udsServer.rb " och den andra med namnet " udsClient.rb . " Som ni kanske misstänker , kommer servern hanterar skapandet och skriva till uttaget och kunden kommer att ansluta till uttaget och får ett meddelande från den första
    2

    Klistra in följande i usdServer.rb . :

    # /usr /bin /ruby

    kräver " socket "

    s = UNIXServer.open ( " /mytestsocket " ) katalog

    client = s . acceptera

    client.puts " Hej , min käre vän . "

    s.close

    File.unlink ( " /mytestsocket " ) katalog

    koden utför följande åtgärder : först , berättar det ditt Unix-operativsystem att detta är en Ruby skript . Du kan behöva ändra den här raden om din Unix OS installerat Ruby till en annan katalog . Du kan hitta katalogen genom att skriva " som Ruby" i en terminal .

    Därefter socket biblioteket laddad . Sedan skapar UnixServer ett uttag i filen " mytestsocket . " Denna fil kommer faktiskt att vara synlig i din BASH terminal , om du bryr dig att titta , men du kommer inte att kunna läsa och skriva från den . Den väntar sedan på ett annat skript att ansluta och , när den gör det , skickar ett vänligt meddelande . Slutligen stänger det uttaget och " unlinks " uttaget från filsystemet .

    Det är det för servern , nu är det dags att skriva klienten .
    3

    Klistra in följande i udsClient.rb dokumentet :

    # /usr /bin /ruby

    kräver " socket "

    s = UNIXSocket.open ( " /mytestsocket " ) katalog

    sätter s.readline

    s.close

    Återigen , berättar den första raden Unix vad du ska göra med din kod och den andra laster linje uttaget bibliotek . Då är en uttag öppnas för samma " filen" att servern koden använder. Meddelandet läses , och anslutningen till uttaget stängt
    4

    Öppna din terminal och skriv följande : .

    Ruby udsServer.rb

    Ingenting kommer att hända , eftersom servern är för närvarande sitter och väntar på din klient för att ansluta . Var noga med att lämna denna terminal öppen .
    5

    Öppna en annan kopia av din terminal och ordna fönstret så att du kan se båda terminaler samtidigt . Skriv följande :

    ruby udsClient.rb

    Du bör omedelbart se serverfönstret exit och klienten fönstret visar den vänliga meddelandet skickas till det av servern . Om du letar efter uttaget filen , kommer den nu vara borta .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Unix miljö Tutorial
    ·Unix Command Line Tools for Windows
    ·Söka efter en fil i Unix
    ·Vad finns i en UNIX Sökvägsnamn
    ·Hur man gör en Unix USB startdiskett
    ·Syftet med en UNIX Operativsystem
    ·En handledning för AIX på Unix
    ·Hur återställa ett lösenord på Unix
    ·Hur du krypterar en fil i Unix
    ·Unix Command Tutorial
    Utvalda artiklarna
    ·Hur Installera Vista när du byter Moderkort
    ·Hur man ändra administratörslösenordet på Vista
    ·Hur att hitta min DNS -kod
    ·Vilka Ubuntu Arkitektur Har jag
    ·Hur man använder Scanreg Restore
    ·Hur du ändrar teckensnitt på en Mac -dator
    ·Hur du återställer Förbrukningsnivåer på en Mac ef…
    ·Hur uppdatera min Virtuellt minne
    ·Hur får jag Desktop teman på min Mac Leopard
    ·Nedgradera från Windows 8 till Windows 7
    Copyright © Dator Kunskap http://www.dator.xyz