Results 1 to 11 of 11

Thread: RPC and TCP/IP

  1. #1
    Member
    Join Date
    Sep 2003
    Location
    Oxfordshire
    Posts
    137
    Thanks
    9
    Thanked
    4 times in 3 posts

    RPC and TCP/IP

    I'm interested in developing an application which will need to send data over a network. Apologies if the following is a bit vague, i'm just trying to get this sorted in my head so please correct me where it makes so sense.

    Remote procedure calls work on Windows systems, but am i correct that this is limited to microsoft only? If the communication was to involve a unix system would i need to look at tcp/ip directly?

    If the above makes sense, is using RPC easier than tcp/ip and if so what are the advantages of not using rpc? Is it all related to interoperability with different platforms?

    Thanks.

  2. #2
    Flower Child stytagm's Avatar
    Join Date
    Aug 2004
    Location
    London
    Posts
    754
    Thanks
    47
    Thanked
    23 times in 18 posts
    It depends what you're trying to do. It might be much easier to use something much more high-level than tcp-ip, like web services (SOAP) dead easy in almost all modern languages.

    If you need low level stuff, then I don't know I'm afraid, but again search for existing libraries for your language that do what you're after.
    They told me I was gullible ... and I believed them.

  3. #3
    Gentoo Ricer
    Join Date
    Jan 2005
    Location
    Galway
    Posts
    11,048
    Thanks
    1,016
    Thanked
    944 times in 704 posts
    • aidanjt's system
      • Motherboard:
      • Asus Strix Z370-G
      • CPU:
      • Intel i7-8700K
      • Memory:
      • 2x8GB Corsiar LPX 3000C15
      • Storage:
      • 500GB Samsung 960 EVO
      • Graphics card(s):
      • EVGA GTX 970 SC ACX 2.0
      • PSU:
      • EVGA G3 750W
      • Case:
      • Fractal Design Define C Mini
      • Operating System:
      • Windows 10 Pro
      • Monitor(s):
      • Asus MG279Q
      • Internet:
      • 240mbps Virgin Cable
    Whether it be UNIX and/or Windows, you need to design and impliment a protocol using Sockets. Its a big pain in the ass, especially with synronisation, but it's gotta be done. RPC is just a general term for a system where two processes communicate and make decissions through a network stack.
    Quote Originally Posted by Agent View Post
    ...every time Creative bring out a new card range their advertising makes it sound like they have discovered a way to insert a thousand Chuck Norris super dwarfs in your ears...

  4. #4
    Member
    Join Date
    Sep 2003
    Location
    Oxfordshire
    Posts
    137
    Thanks
    9
    Thanked
    4 times in 3 posts
    I want it to be as simple as possible as i have no desire to over-engineer a solution so i might look at soap.

    aidanjt, i thought the point of RPC was that i didn't need to look into the low-level implementation, that all of that was handled without my intervention. at least that was my understanding of the micrsoft way of doing rpc.
    Last edited by fray_bentos; 21-05-2007 at 12:04 PM. Reason: spelling

  5. #5
    Gentoo Ricer
    Join Date
    Jan 2005
    Location
    Galway
    Posts
    11,048
    Thanks
    1,016
    Thanked
    944 times in 704 posts
    • aidanjt's system
      • Motherboard:
      • Asus Strix Z370-G
      • CPU:
      • Intel i7-8700K
      • Memory:
      • 2x8GB Corsiar LPX 3000C15
      • Storage:
      • 500GB Samsung 960 EVO
      • Graphics card(s):
      • EVGA GTX 970 SC ACX 2.0
      • PSU:
      • EVGA G3 750W
      • Case:
      • Fractal Design Define C Mini
      • Operating System:
      • Windows 10 Pro
      • Monitor(s):
      • Asus MG279Q
      • Internet:
      • 240mbps Virgin Cable
    Sockets isn't low level implimentation, low level networking is coding your own TCP/IP stack interface, sockets abstract that away from you. Just think of sockets as a more advanced/complex file i/o interface, the base concepts are similar.
    Last edited by aidanjt; 21-05-2007 at 12:11 PM.
    Quote Originally Posted by Agent View Post
    ...every time Creative bring out a new card range their advertising makes it sound like they have discovered a way to insert a thousand Chuck Norris super dwarfs in your ears...

  6. #6
    Senior Member Kezzer's Avatar
    Join Date
    Sep 2003
    Posts
    4,863
    Thanks
    12
    Thanked
    5 times in 5 posts
    Yup, the lowest level socket coding you'll get to do (I do it at work) is using winsock probably, and it's not that difficult. Plus, it's totally tied to the OS.

    Better to do some stack interface coding if you're looking at low-level stuff.

  7. #7
    Member
    Join Date
    Sep 2003
    Location
    Oxfordshire
    Posts
    137
    Thanks
    9
    Thanked
    4 times in 3 posts
    Cheers guys, i think things are clearer now. It sounds like its scokets I need to be taking a look at. I am sure there'll be more questions to follow at some point.

    So this is an area you work with Kezzer, aidanjt if you don't mind me asking is this your area of work, study, hobbie?

  8. #8
    Senior Member Kezzer's Avatar
    Join Date
    Sep 2003
    Posts
    4,863
    Thanks
    12
    Thanked
    5 times in 5 posts
    fray_bentos, I've coded random e-mail senders in winsock2 using C++ at work. I've never worked with layer-level stuff though, although I could probably do it.

  9. #9
    Gentoo Ricer
    Join Date
    Jan 2005
    Location
    Galway
    Posts
    11,048
    Thanks
    1,016
    Thanked
    944 times in 704 posts
    • aidanjt's system
      • Motherboard:
      • Asus Strix Z370-G
      • CPU:
      • Intel i7-8700K
      • Memory:
      • 2x8GB Corsiar LPX 3000C15
      • Storage:
      • 500GB Samsung 960 EVO
      • Graphics card(s):
      • EVGA GTX 970 SC ACX 2.0
      • PSU:
      • EVGA G3 750W
      • Case:
      • Fractal Design Define C Mini
      • Operating System:
      • Windows 10 Pro
      • Monitor(s):
      • Asus MG279Q
      • Internet:
      • 240mbps Virgin Cable
    Programming has always been a bit of a hobby of mine, I'm doing formal study of it at the moment, it's a bit fustrating doing the silly/flawed programming I'm doing in the first year. I've always been curious about how things work. I've covered sockets theory and fiddled about with the API on both Windows and *NIX, but haven't implimented it in any large system, 'tis very easy to port between both platforms though as Winsock was based on BSD Sockets.
    Quote Originally Posted by Agent View Post
    ...every time Creative bring out a new card range their advertising makes it sound like they have discovered a way to insert a thousand Chuck Norris super dwarfs in your ears...

  10. #10
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,164
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts
    RPC in general is a rather old technology now adays its all XML SOAP based 'WebServices' which like RPC allow for procedures too be called remotely, over HTTP using nice standards.

    WebServices as such are very portable, not too mention very easy to write (and maintain) in .Net (my favourate been c#). You can do them in most languages, even Java, thou doing them in Java is a bit gordon brown.

    Also if you don't mind tieing yourself down too a plaftorm like .Net, you can use remoting, which is much much better than RPC as you can bring objects back and forth, even by reference (so the object exists purely on the server) this is very powerful technology.

    If you don't mind tieing yourself too windows a bit more in .net 3 there is WCF Windows Communication Framework, which is very flexible, but i could spend all evening talking about it!
    throw new ArgumentException (String, String, Exception)

  11. #11
    Theoretical Element Spud1's Avatar
    Join Date
    Jul 2003
    Location
    North West
    Posts
    7,494
    Thanks
    335
    Thanked
    313 times in 249 posts
    • Spud1's system
      • Motherboard:
      • Gigabyte Aorus Master
      • CPU:
      • 9900k
      • Memory:
      • 16GB GSkill Trident Z
      • Storage:
      • Lots.
      • Graphics card(s):
      • RTX3090
      • PSU:
      • 750w
      • Case:
      • BeQuiet Dark Base Pro rev.2
      • Operating System:
      • Windows 10
      • Monitor(s):
      • Asus PG35VQ
      • Internet:
      • 910/100mb Fibre
    Just noticed this thread, and was about to come and sing the praises of .NET remoting, but TheAnimus has beaten me to it

    Now not that i'm reccomending this, but Java also has RMI (remote method invocation) which allows for many similar things as .NET remoting, but using Java instead of .NET... However, unless your going to be using an obscure platform that .NET doesn't support (so anything other than Windows or Unix/Linux) I can't see why you would want to do this. RMI involves too much fiddling around imho.

    Here is a nice article about .NET remoting and Web Services (XML SOAP based), explains and compares the two

    http://www.developer.com/net/net/article.php/2201701

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Win 98 and IE6
    By Zak33 in forum Networking and Broadband
    Replies: 7
    Last Post: 03-08-2004, 04:04 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •