Direct Client-to-Client (DCC) is an extension of IRC that allows for files to be transferred between users.
DCC works by establishing a direct connection between the person sending the file and the person receiving it.
When you send a file, a transfer request is sent to the recipient. This transfer request contains the name of the file, its size, your IP address, and a port. If the recipient agrees to the transfer request, then their client opens a new connection to the IP address and port. The contents of file is then transferred.
When a transfer request is received, it is placed within the File Transfers window.
This window can be brought forward by navigating to the main menu in the top left corner of the screen, opening the Window menu, and clicking the menu item labeled File Transfers.
Right click (control click) one or more items in this window. A menu is presented by doing so which contains different actions which can be performed on each transfer request.
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 recipient 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 connection to be successfully established, something known as port forwarding is required.
When you send a file, Textual attempts automatic port forwarding using UPnP and NAT-PMP. However, this does not always succeed due to limitation in hardware or misconfiguration.
There are two ways to send a file through Textual:
The first way is to right click (control click) a nickname in the user list, then navigate to the Client-to-Client submenu.
The second way is to drag and drop a file onto a user in the user list.
File transfers are not secure. The contents of each file is transferred in plain text.
Textual supports sending and receiving files using native IPv6. Other apps may not support native IPv6. There is no way to know whether another app can receive files from you using native IPv6 until you try to send one.
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 manually entered 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.