Tag Info

Hot answers tagged

66

A client is identified by a cookie as well as the IP address. However, the IP address cannot be used exclusively: What if two clients are located behind the same NAT firewall or proxy? They will have the same external IP address to the server. What if a user has two different browsers open on the same machine, and wants two separate sessions (maybe for ...


14

Sometimes you can use IP address. If you're on a LAN or are otherwise dealing exclusively with users that have IP's statically distributed to single clients, using that address is perfectly fine -- sometimes preferable and necessary. But, usually you can't. If you're running a public site, most of the IP addresses that hit your server aren't static or ...


12

The latter has the advantage that it makes your "back end" a generic "data service" (whatever that may mean in your context). Your HTML client is then just one of the many possible consumers of that data. Think iOS app, Andriod app, Windows 8 app, APIs, etc. -- as other consumers.


8

client/server refers to a relationship between two networked computers in which one machine (the client) initiates a connection and makes requests of the other machine (the server), which in turn to fulfill those requests. Servers exist to provide a service which clients consume. Also, have you checked the Wikipedia article on REST? The second paragraph ...


7

The client and server are basically two parts of a distributed computing model. In this model, a user uses a client computer which sends requests to the server. The server then processes the request and creates the appropriate response which it sends back to the client. In this model, it is often the client that initiates the interaction and not the ...


7

Three more reasons to add: Multiuser workstations and terminal servers exist. Many users could be running completely independent browser processes in separate sessions. IP addresses aren't persistent. It could be reassigned when a DHCP lease expires. The application should support roaming. For example, a user on a phone might drop out of WiFi range and ...


5

This is an ordinary sandbox model (the one which is used with plugins/addins). Instead of calling the libraries directly, you load them in a different AppDomain. Doing this actually allows you to update the corresponding libraries while the application is still running. If you want to automate the process, the client application can monitor the directory ...


5

A growing common way of a web application is a mix of both, tending one or other side. The first approach is more traditional, has been there for years and its well documented, (although c++ is not generally a language popular for that). The second option is more modern, and are in the development blogs and forums nowadays. One of the reasons for that, is ...


5

If the server only responds to requests from the client and new interface versions only add new requests (existing requests and responses are never changed), then disallowing newer clients means that neither client nor server need to explicitly support multiple versions of the protocol. In that case, if a version 8 client connects to a version 10 server, ...


4

There are no silver bullets in design or architecture. ( Sorry ) It sounds like you're still at the beginnings of the Design phase and I think you need to focus more on the "divide and conquer" aspects of mapping out your application. Rushing into the lower level details before you have a comprehensive design means you may miss otherwise "obvious" ...


4

I've done two relevant (for this question) projects. The first uses SOAP, a Java server and a .NET-Client. The second uses REST, but both, client and server, are written in Java. Your pros and cons seem all valid to me. I personally like REST-style messages more. The main-reason for this is, that it's very lightweight (in action and development), what you ...


4

You can use a technique often referred to long-polling or comet, which allows to implement a "push"-based event/update system. Principle The principle is rather simple: clients sends a request to server and keeps connections alive; server keeps a handle on the connection and waits; when updates are available, server sends back data to client; (depending ...


4

For such "intranet" applications I use the fat-client (JavaScript/HTML5-app + JSON) approach with ExtJS4. For normal "internet" websites I would use a more "classical" approach. The clients have to render the site anyway, so why not charging them with the whole process and just give them the data to fill in. It simplyfies the server code for generating ...


4

In my limited experience, the points where validation are required are The presentation level using HTML, at the post-presentation level (i.e., Javascript validation), at the combination level where interactions between multiple fields have to be validated together, at the business logic level and at the database level. Each of them have different ...


4

Most client-server applications can be installed in a "standalone setup", where the client and server machine are the same, as you wrote, but that does not make them a "standalone application". Such a system is still a client/server application, and the interprocess communication between the client application process and the database process will typically ...


3

Why Rewrite What you can Get Off the Shelf? Why not use RedDwarf Server (formerly Project DarkStar)? RedDwarf Server is an open source middleware solution for developing the server-side of massively multiplayer online games. It is the official community fork of Project Darkstar, an open source project supported and managed by Sun Microsystems. - from ...


3

How much domain logic you have in the client-side UI will depend largely on how much interactivity and responsiveness you want in the UI. For example, let's say you want to validate some field that the user enters. Maybe that validation involves other fields on the form (you asked for socks, but you didn't specify what color of socks you wanted). In most ...


3

There's one thing you mention in the last paragraph that stands out to me: the client is already feels bloated and complicated. The modern approach to client/server relationship is a parallel of the relationship between human and machine. Client Akin to iOS programming, we ought to perceive the Angular front-end as a View-Controller. Don't use models ...


3

You should look into message brokers like RabbitMQ and ActiveMQ. There are AMQP and STOMP client libraries in Python you can use with them. Alternatively, if you want more control you could use ZeroMQ, but that will also require more work from you on the server side.


3

Back in the days of old, one would indeed work and worry about sockets and the down and dirty of network programming. Those days are gone for nearly every modern language - there are easier solutions. The essence of what you are describing is that of a message queue. These are things that have been built and can be used with rather little additional ...


2

Learn HTML 4/5, JavaScript, and CSS. All are client side technologies and you are required to learn them. HTML is the markup. JavaScript brings dynamic behavior in browser. CSS is used for styling. Choose a server-side technology like, PHP, ROR, JavaEE etc. and learn it by building programs. PHP is easy to learn. JavaEE/Servlet/JSP/JSF are hard. ROR is ...


2

I suppose you need some sort of session which does not expire fast (say lasts a couple of weeks). In most mobile apps I have used you have to "create account" and login at the first time (maybe imitating their web counterparts) and then an occasional log in after some time or after a firmware update erases local storage. Alternatively you can have the user ...


2

AJAX I think your question boils down to, "Should my web application generate HTML on the client side or on the server side?" Client-side generation communicates to the server using AJAX, although the X (XML) has generally been replaced with JSON, but most people still call it AJAX because it sounds better. Server-side, the server just makes HTML on the ...


2

I compared REST + JSON for interchanging data between .NET client and Java server against traditional SOAP client/server approach. In all both cases, the Java server app is running as a standalone process, and not inside J2EE container. For .NET client, I tested RestSharp to send the REST requests and handle responses. I found RestSharp to be elegant, ...


2

Essentially, you want to tighten your feedback loop. To answer your direct question, there are tons of tools or plugins to automatically refresh the browser when it detects changes in your project. There are both browser-level plugins, as well as editor integrations. For example, when I save a file in vim, I can have it automatically refresh my browser ...


2

I would say that giving the sysadmin control over when the update is applied is the best way - this means that an admin can delay updating if he's working at a critical time (say, over christmas) when demand is likely to be high and staff availability low, and also the potential for a screwup to be really damaging is much higher than usual. So an fully ...


2

A server is a computational unit dedicated to providing services to one or more clients or other servers. A client requests services from one or more servers or other clients. A server can act as a client requesting services from other servers.


2

Based on what you are describing, a simple REST style interface should be more than sufficient. You'd compile the orders up into a chunk of XML, and post it to your server to add them. You can also respond to gets, puts, and deletes. Most desktop langauges/tools should have the necessary client libraries available for this. Any of the more common server ...


2

When there is a single server entry point, web requests are generally served in a first-in-first-served manner. If the system architect is aware that some requests should have higher priority than other requests, he may employ a Bulkhead Pattern (either temporarily for an expected traffic spike, or as part of the stable architecture), where a dedicated ...


2

Using IP address as identifier is generally not recommended, as it is not what IP address is meant for - functionally it is a plain address for routing from a to b, and it tells nothing what is before a or after b. In example, same IP address may be shared by a number of natted devices, most common cases being a) a provider dynamically assigning a pool of ...



Only top voted, non community-wiki answers of a minimum length are eligible