Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

I am developing a software application that acts as a sender as well as a receiver. What is a single word for this?

This is a peer application running on two different machines, sending data to and receiving data from its peer.

share|improve this question
    
Can you give some more details? There might be a more precise word that we can suggest if we know more about the role of this program. –  Codie CodeMonkey Nov 1 '11 at 7:15
1  
This is a peer application running on two different machines, sending/receiving data to-and-fro with its peer. –  Akbar Nov 1 '11 at 7:53
1  
.......Bipolar? –  LarsTech Nov 1 '11 at 13:48
4  
How about hermaphrodite? :-) –  Fraser Orr Nov 1 '11 at 14:29
3  
Most network applications both send and receive, that is the nature of communication. In a client/server system the client usually makes requests and the server services them, replying with requested data or replying that data was or wasn't received. Since you are creating a peer application, each instance of your application is a peer so could be named as such, e.g. MyApplicationPeer. –  Mark Booth Nov 1 '11 at 14:41

15 Answers 15

The word used in the radio/telecomms industry is transceiver.

share|improve this answer
10  
+1 but I'm not sure if this is the most appropriate word to use for software. Where it is, it's almost exclusively used to refer to some sort of radio controlling software: infrared, RF, wireless, Bluetooth. An exception may be SMPP or SFP. –  Hugo Nov 1 '11 at 12:10
3  
There was a time when sender and receiver used to refer to radio, too. Before that they used to refer to paper letters being sent back and forth. Nothing wrong with repurposing a word for software, especially if the definition of the word is so clear-cut. –  Lunivore Nov 1 '11 at 16:46
4  
@Lunivore I disagree. As a software developer, if I heard another developer talk about a "transceiver," it would give me pause and make me think a radio handset was somehow involved. "What does a radio have to do with your peer-to-peer application?" The word is just never used in developer speak. –  Phil Nov 1 '11 at 19:47
    
@Phil, both Darren and I are also software developers. I'm fairly well known for helping development teams communicate more effectively with the business, using plain English, examples of system behavior and metaphors that they can understand (see "BDD"). This is an appropriate and useful metaphor, and if it drives out some of the "developer speak", so much the better. –  Lunivore Nov 1 '11 at 21:51
    
Transceivers are definitely not limited to radio - they were very common in IT, alternatively called "media converters" - bidirectional devices that convert data between two types of network, say, AUI and 10baseT ethernet (without doing any extra work like handshakes or authentication like modems and wifi accesspoints do) –  SF. Aug 20 '12 at 13:13

Peer.

Obviously, you'll need more than one word when first introducing the application. Thereafter, peer should cover it.

share|improve this answer
1  
+1 That's probably the most appropriate description for a node in a network made up of equally capable participants. –  Frank Nov 1 '11 at 20:50
    
I'm quite fond of transceiver, but just calling it peer is a pretty good choice too. Either should work. –  Lunivore Nov 1 '11 at 21:56
    
My only qualm with this answer is that it implies there are other nodes networked to it that act in the exact same way. Still, +1. –  T.E.D. Nov 2 '11 at 13:14

In distributed systems, this is usually referred to as a node.

share|improve this answer
    
Clients and servers are often referred to as nodes, so in this instance, I think peer is more appropriate than 'node', as it is a tighter definition, closer to the requested intent. –  Mark Booth Nov 1 '11 at 14:44
    
"node" is used in non-network related structures as well (binary tree etc.). –  horatio Nov 1 '11 at 19:38

I would ignore the fact that it both sends and receives and focus on what its purpose is. The fundamental distinction between a client and a server is that human beings interact with clients. If it has a user-interface and does what a human being tells it to do, it's a client. If it performs services only (or primarily) for other software components, it's a server.

(The X Window System does this the other way around, calling the 'server' the component that accepts connections and the 'client' the component that makes them. It confuses the heck out of everyone.)

If you want to stress the fact that the relationship is many-to-many and not the usual many clients to one server, use peer. If you feel that's too specific and want something more generic, use node.

share|improve this answer

Servent (coined by Gnutella)

From Wikipedia:

In general a servent is a peer-to-peer network node, which has the functionalities of both a server and a client.

share|improve this answer
5  
An interesting portmanteau, but rather obscure. plus, how widely is it used? It looks like it was coined by Gnutella and failed to propagate much further. Certainly most google search hits are just miss-spellings of servant. –  Mark Booth Nov 1 '11 at 18:56
    
Not very widely used, no, but i think it's clever enough to start using. –  Christoffer Hammarström Nov 2 '11 at 10:40

The word manager is sometimes used in software for a component that both sends and receives.

This is a peer application running on two different machines, sending/receiving data to-and-fro with its peer.

This is similar to BitTorrent software, usually called a client, regardless of the fact it sends as well as receives. 

share|improve this answer
2  
I also work in the software industry, and 'manage' strikes me as an adequate name for something that sends and receives. It 'manages' the messages going to and from somewhere. –  bakoyaro Nov 1 '11 at 13:21
3  
I disagree. Manager is too vague a term for a software component. It could refer to any component that does something with another component. See Clean Code for a chapter on Naming which talks about avoiding the word Manager <amazon.com/dp/0132350882/?tag=stackoverfl08-20>;. –  neontapir Nov 1 '11 at 16:14

Very generically, transactor might be suitable. Broker could also be appropriate in some situations.

share|improve this answer

I would call it a broker since it deals with input and output.

share|improve this answer

I would use the word, full-duplex.

From wikipedia:

A full-duplex (FDX), or sometimes double-duplex system, allows communication in both directions, and, unlike half-duplex, allows this to happen simultaneously.

share|improve this answer
    
I don't think this is precise enough to be the single descriptor the OP is looking for. As your comment says, full-duplex only implies /simultaneous/ transmit/receive, not that it is capable of both transmitting and receiving. A half-duplex system is still capable of transmitting and receiving, but can only do one at once. –  mskfisher Nov 1 '11 at 15:58

Daemon might fit.

share|improve this answer

This could be referred to as a switch.

share|improve this answer

Muxer (an abbreviation of multiplexer) is sometimes used as a name for an application like this.

share|improve this answer
2  
muxing is more about combining things than transmitting/receiving –  JamesRyan Nov 1 '11 at 16:00

If this application were surreptitious and malicious, it would be a "man-in-the-middle."

share|improve this answer
    
This answer made me smile –  aitchnyu Nov 2 '11 at 7:50

The link would be bidirectional.

share|improve this answer

It could be described as a hub.

share|improve this answer
2  
Hub implies a centralised nature rather than a distributed one. –  Mark Booth Nov 1 '11 at 14:32

protected by RegDwigнt Nov 2 '11 at 0:41

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.