Direct Client-to-Client (DCC) is an extension of Internet Relay Chat (IRC) that enables the ability to transfer files between users. It works by establishing a direct connection between yourself and another user allowing files to be sent to each other without the need for a 3rd-party service (such as “the cloud”).
When a file transfer is initiated, Textual sends information about yourself and the file to the person receiving it. This information includes your IP address, the port on which to connect, the name of the file, and the total file size. Once the file transfer request is received, the recipient can chose to accept the transfer or ignore it.
If they accept the transfer, their chat client will attempt to establish a connection to the IP address and port that was included part of the transfer request. Once a successful connection is established, the file is transferred.
When a file transfer request is received, it is placed within the File Transfers window.
This window can be brought forward by browsing to the main menu in the top left corner of the screen, selecting the Window menu, and clicking the item labeled File Transfers.
By right clicking (or control clicking) one or more items in this window, a menu is presented which contains multiple actions which can be performed on each transfer. These actions include the ability to start and stop a transfer.
For visual reference, the File Transfers window appears similar to the following:
When sending a file, the recipient of the file will have difficulties receiving it if you are on a wireless network.
The receiver must establish a connection to you as the sender and to do so, they must connect to your Mac. However, being connected to a wireless network means that your Mac is not directly facing the Internet.
For a receiver to be able to connect to you, something known as port forwarding is required.
There are two ways to send a file through Textual:
The first way is to right click (or control click) the nickname of the user you wish to send a file to. In the menu that appears, browse to the submenu labeled Client-to-Client and click the item labeled Send file….
Alternatively, dragging any file on top of a nickname on the user list of a channel will begin a transfer request.
File transfers are not secure. The contents of each file is transferred in plain text.
Sending and receiving files between yourself and other users of Textual is supported on native IPv6. Support for this with other chat clients is currently limited so it may not work if a file transfer is attempted with a user that is not on Textual.
Textual only provides support for native IPv6. IPv6 tunnels are not supported due to networking difficulties.
The following are common errors that can be encountered during a file transfer:
This error occurs when Textual tries to send a file but was unable to find a port which was open for listening.
This error occurs because Textual tried to access a file which may no longer exist or has inappropriate file permissions.
This error occurs when trying to send a file when the IP address of the sending machine is not available. By default, Textual tries to request the value of your IP address from an external source. However, sometimes this may fail. Restarting Textual may resolve this issue. If it does not, an IP address may need to be entered manually in Preferences.
This is a general error that can occur for multiple reasons. If this error occurs during a file transfer, then the sender may have cancelled the transfer or there was a slight Internet hiccup that could not be recovered from.
This error occurs when a connection cannot be established to the user sending a file. This is likely due to their Mac being behind a firewall or wireless network which is not forwarded properly.