Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. What should be Used?? Remoting/Web Services/Sockets

What should be Used?? Remoting/Web Services/Sockets

Scheduled Pinned Locked Moved C#
csharpwcfsysadminwindows-adminxml
11 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    ag46677
    wrote on last edited by
    #1

    Hi all, It’s my very first time posting any problem in the forum like this. I am expecting proper responses from u expert friends. Problem is that I am in dilemma that which of the technique I should use in the scenario mentioned below. I have got a server installed in my LAN and I need to send an XML file/string to the client which exists out of my LAN using internet (of course). There may around 500 to 600 client access my server for the data. Please suggest me which of the techniques: a. Remoting b. Web Services c. Socket Can solve my problem. Some constraints are the for each of the techniques as a. If I go by Remoting, it’s difficult to apply it over internet and not even reliable too as any of the firewall can restrict it. b. If I go by Web Services I need to have IIS installed on the client’s side which cannot be done for the cost reasons. c. If I go by sockets again the problem with the firewalls arises. Please suggest me a proper technique and solution of get ridge of the above mentioned problems associated with each of them. Note : I am working on C#.Net with the framework 1.1. Thanks in advance.

    M C 2 Replies Last reply
    0
    • A ag46677

      Hi all, It’s my very first time posting any problem in the forum like this. I am expecting proper responses from u expert friends. Problem is that I am in dilemma that which of the technique I should use in the scenario mentioned below. I have got a server installed in my LAN and I need to send an XML file/string to the client which exists out of my LAN using internet (of course). There may around 500 to 600 client access my server for the data. Please suggest me which of the techniques: a. Remoting b. Web Services c. Socket Can solve my problem. Some constraints are the for each of the techniques as a. If I go by Remoting, it’s difficult to apply it over internet and not even reliable too as any of the firewall can restrict it. b. If I go by Web Services I need to have IIS installed on the client’s side which cannot be done for the cost reasons. c. If I go by sockets again the problem with the firewalls arises. Please suggest me a proper technique and solution of get ridge of the above mentioned problems associated with each of them. Note : I am working on C#.Net with the framework 1.1. Thanks in advance.

      M Offline
      M Offline
      Mark Churchill
      wrote on last edited by
      #2

      Remoting has a variety of issues, and sockets would just be a pain. Without knowing about how often you need to send data, I suggest you examine running a web service on _your_ end, and having the clients poll for data.

      Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins

      A 1 Reply Last reply
      0
      • A ag46677

        Hi all, It’s my very first time posting any problem in the forum like this. I am expecting proper responses from u expert friends. Problem is that I am in dilemma that which of the technique I should use in the scenario mentioned below. I have got a server installed in my LAN and I need to send an XML file/string to the client which exists out of my LAN using internet (of course). There may around 500 to 600 client access my server for the data. Please suggest me which of the techniques: a. Remoting b. Web Services c. Socket Can solve my problem. Some constraints are the for each of the techniques as a. If I go by Remoting, it’s difficult to apply it over internet and not even reliable too as any of the firewall can restrict it. b. If I go by Web Services I need to have IIS installed on the client’s side which cannot be done for the cost reasons. c. If I go by sockets again the problem with the firewalls arises. Please suggest me a proper technique and solution of get ridge of the above mentioned problems associated with each of them. Note : I am working on C#.Net with the framework 1.1. Thanks in advance.

        C Offline
        C Offline
        CKnig
        wrote on last edited by
        #3

        Hi - as mentioned in the other reply: use a webservice! The clients won't have to install the IIS - they will just have to access your IIS to get the wsdl service description and communicate with it.

        A 1 Reply Last reply
        0
        • C CKnig

          Hi - as mentioned in the other reply: use a webservice! The clients won't have to install the IIS - they will just have to access your IIS to get the wsdl service description and communicate with it.

          A Offline
          A Offline
          ag46677
          wrote on last edited by
          #4

          ya u are right but the thing is I dont want the webservice to be called by the client but server should send the file to client by itself provided that the internet ip of the client is known.. I think i missed this point hope you are clear with the senario. I dont want PULL mechanism at client side but PUSH at server side.

          C 1 Reply Last reply
          0
          • M Mark Churchill

            Remoting has a variety of issues, and sockets would just be a pain. Without knowing about how often you need to send data, I suggest you examine running a web service on _your_ end, and having the clients poll for data.

            Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins

            A Offline
            A Offline
            ag46677
            wrote on last edited by
            #5

            Hello Sir, Thanks for the early response. But the problem is our architecture does not permit this. In our case client should not PULL the data rather server should PUSH the data to the client knowing the internet IP of the client. any solution for this type of case..???? Thanks in advance.

            M 1 Reply Last reply
            0
            • A ag46677

              ya u are right but the thing is I dont want the webservice to be called by the client but server should send the file to client by itself provided that the internet ip of the client is known.. I think i missed this point hope you are clear with the senario. I dont want PULL mechanism at client side but PUSH at server side.

              C Offline
              C Offline
              CKnig
              wrote on last edited by
              #6

              First you should ask yourself if you really need the PUSH - mechanic. I'm not an Webservice expert but I think you can't handle this with it. No matter what you will have to provide the client with some kind of software - so why not provide with a polling client app? (Do you really want your server to PUSH several hundred files over the internet when you are not sure if the client still listens or even wants this?)

              A 1 Reply Last reply
              0
              • A ag46677

                Hello Sir, Thanks for the early response. But the problem is our architecture does not permit this. In our case client should not PULL the data rather server should PUSH the data to the client knowing the internet IP of the client. any solution for this type of case..???? Thanks in advance.

                M Offline
                M Offline
                Mark Churchill
                wrote on last edited by
                #7

                With any form of "push" mechanic you will need to have correctly configured firewalls. This will be a massive pain. I strongly suggest you take a second look at your requirements and see if "push" is really necessary. What information are you planning to send that requires the client to know about it immediately? What are the results of the client not finding out for a minute, 10 minutes, or a whole day? Firewall problems like this should have been considered as part of the initial design.

                Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins

                A 1 Reply Last reply
                0
                • C CKnig

                  First you should ask yourself if you really need the PUSH - mechanic. I'm not an Webservice expert but I think you can't handle this with it. No matter what you will have to provide the client with some kind of software - so why not provide with a polling client app? (Do you really want your server to PUSH several hundred files over the internet when you are not sure if the client still listens or even wants this?)

                  A Offline
                  A Offline
                  ag46677
                  wrote on last edited by
                  #8

                  ok..let me tell you real senario. in my case client is connected with the server whole 24*7, i.e., server will be having the internet Ip of the client all the time(so client will be ready to take the data every time the server is sending the data). and as i said there may be 500-600 different client accross the internet network for the server to send the data and server will map the data to the correct client will send the data. any other solution?? Thanks in advance.

                  1 Reply Last reply
                  0
                  • M Mark Churchill

                    With any form of "push" mechanic you will need to have correctly configured firewalls. This will be a massive pain. I strongly suggest you take a second look at your requirements and see if "push" is really necessary. What information are you planning to send that requires the client to know about it immediately? What are the results of the client not finding out for a minute, 10 minutes, or a whole day? Firewall problems like this should have been considered as part of the initial design.

                    Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins

                    A Offline
                    A Offline
                    ag46677
                    wrote on last edited by
                    #9

                    Sir, I am on a project of emergency management, so by this you may be able to understand that the xml information needed to be send to the client is prime importance. I cannot afford delay of any second even. Thanks.

                    M D 2 Replies Last reply
                    0
                    • A ag46677

                      Sir, I am on a project of emergency management, so by this you may be able to understand that the xml information needed to be send to the client is prime importance. I cannot afford delay of any second even. Thanks.

                      M Offline
                      M Offline
                      Mark Churchill
                      wrote on last edited by
                      #10

                      Is this information to be consumed by a human or by automated systems? It would be completely feasible to poll for messages every 15 seconds or even less. MSN Messenger will switch to HTTP polling when behind firewalls - and that is usable for "instant" messanging. If specifications use words like "immediately" I often find that the real requirement is "within a minute". If IIS and firewall issues are a problem then I suggest you client rethink their budget or their requirements. If you really need realtime communication, then you will need to establish a permanent link to the server from the client. Sockets or remoting will be suitable for this.

                      Mark Churchill Director Dunn & Churchill Diamond Binding: Zero to Data Layer in 3 mins

                      1 Reply Last reply
                      0
                      • A ag46677

                        Sir, I am on a project of emergency management, so by this you may be able to understand that the xml information needed to be send to the client is prime importance. I cannot afford delay of any second even. Thanks.

                        D Offline
                        D Offline
                        darrenstokes
                        wrote on last edited by
                        #11

                        Remoting will be easier than direct sockets. Romoting and direct sockets will have the same issues with configuration of the firewall. Based on the restrictions you have mentioned, remoting over tcp seems like the most workable solution. Webservices would be the easier way. Remoting over http is similar to webservices, but if you can't run iis on the other side, neither will work. Another option would be to run an ftp server on the other side but if they are reluctant to install iis then ftp is likely not an option either.

                        http://blog.darrenstokes.com

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups