19

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.

9
  • 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. Commented Nov 1, 2011 at 7:15
  • 1
    This is a peer application running on two different machines, sending/receiving data to-and-fro with its peer.
    – Akbar
    Commented Nov 1, 2011 at 7:53
  • 1
    .......Bipolar?
    – LarsTech
    Commented Nov 1, 2011 at 13:48
  • 4
    How about hermaphrodite? :-)
    – Fraser Orr
    Commented Nov 1, 2011 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
    Commented Nov 1, 2011 at 14:41

15 Answers 15

40

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

5
  • 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
    Commented Nov 1, 2011 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
    Commented Nov 1, 2011 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
    Commented Nov 1, 2011 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
    Commented Nov 1, 2011 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.
    Commented Aug 20, 2012 at 13:13
32

Peer.

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

3
  • 1
    +1 That's probably the most appropriate description for a node in a network made up of equally capable participants.
    – Frank
    Commented Nov 1, 2011 at 20:50
  • I'm quite fond of transceiver, but just calling it peer is a pretty good choice too. Either should work.
    – Lunivore
    Commented Nov 1, 2011 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.
    Commented Nov 2, 2011 at 13:14
12

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

2
  • 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
    Commented Nov 1, 2011 at 14:44
  • 1
    "node" is used in non-network related structures as well (binary tree etc.).
    – horatio
    Commented Nov 1, 2011 at 19:38
4

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.

3

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

3

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.

2
  • 6
    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
    Commented Nov 1, 2011 at 18:56
  • Not very widely used, no, but i think it's clever enough to start using. Commented Nov 2, 2011 at 10:40
3

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. 

2
  • 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
    Commented Nov 1, 2011 at 13:21
  • 4
    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
    Commented Nov 1, 2011 at 16:14
2

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

1

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.

1
  • 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
    Commented Nov 1, 2011 at 15:58
1

Daemon might fit.

0

This could be referred to as a switch.

0

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

1
  • 2
    muxing is more about combining things than transmitting/receiving
    – JamesRyan
    Commented Nov 1, 2011 at 16:00
0

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

1
  • This answer made me smile Commented Nov 2, 2011 at 7:50
0

The link would be bidirectional.

-2

It could be described as a hub.

1
  • 2
    Hub implies a centralised nature rather than a distributed one.
    – Mark Booth
    Commented Nov 1, 2011 at 14:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .