Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 566749
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T13:00:39+00:00 2026-05-13T13:00:39+00:00

I would like to have a client-server application written in .NET which would do

  • 0

I would like to have a client-server application written in .NET which would do following:

  • server is running Linux
  • on the server there is SQL database (mySQL) containing document URLs

What we want:
– server side would regularly crawl all URLs and create a full text index for them
– client side would be able to perform a query into this index using GUI

The client application is written in .NET using C#. Besides of searching in documents it will be able to do a lot of other things which are not described here and which are done client-side very well.

We would like to use C# for the server side as well, but we have no experience in this area. How are things like this usually done?


Clarifying question now based on some answers:

The thing which is most unclear to me is how client-server communication is usually handled. Is client and server usually using sockets, caring about details like IP addresses, ports or NAT traversal? Or are there some common frameworks and patters, which would make this transparent, and make client-server messaging or procedure calling easy? Any examples or good starting points for this? Are there some common techniques how to handle the fact a single server is required to server multiple clients at the same time?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T13:00:39+00:00Added an answer on May 13, 2026 at 1:00 pm

    To use c# on Linux you will need to use Mono. This is an open source implementation of the CLR specification.

    Next you need to decide on how to communicate between server and client, from the lowest level of just opening a TCP/IP socket and sending bits up and down, to .Net remoting, to WCF, to exposing webservices on the server. I do not know how compleat WCF implementation is on mono, also I think you may have issue with binary remoting between mono and MS .Net .

    I would suggest RPC style WebServices offer a very good solution. WebServices also have the advantage of alowing clients from other platforms to connect easily.

    EDIT
    In response to the clarification of the question.
    I would suggest using mono/ASP.NET/WebServices on the server, if you wish to use c# on both server and client.

    One assumption I have made is that you can do a client pull model, where every message is initiated by the client. Using another approach could allow the server to push events to the client. Given the client has the ability to pole the server regularly I don’t consider this much of a draw back but it may be depending on the type of application you are developing.

    Mono allow execution of c# (compiled to IL) on a Linux box. Mono ASP.NET allows you to use the standard ASP.NET and integrate into Apache see http://www.mono-project.com/ASP.NET and finally WebServices allow you to communicate robustly in a strongly typed manner between you client and your server.

    Using this approach negates most of the issues raised in your clarification and makes them someone else’s problem.
    Sockets/SSL – is taken care of by standard .Net runtime on the client and Apache on the server.
    IPAddress/ports/NAT traversal – Is all taken care of. DNS look up will get the servers IP. Open socket will allow the server to respond through any firewall and NAT setup.
    Multiple Clients – Apache is built to handle multiple clients processing at the same time as is ASP.NET, so you should not encounter any problems there.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a client/server program in TCP written in C, and I would like
We have an enterprise application written in asp.net c# (3.5) and SQL server that
I have written a server/client application using sockets in C# for .NET 3.5. I'm
I have a server - client pair written in java and I would like
I have a client/server application written in C#/.NET 3.5 that I want to do
I have declared an enum in my server code, and would like my client
I have a windows service written in C# .NET framework 3.5 and would like
I have an application in Asp.net MVC where at some point I would like
My client-server communication looks like this: there are some so called annoucements which are
I would like to port a PHP/MySQL-based client/server application to be a standalone desktop

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.