IMHO it would be better if youcould reuse the chat socket for file transfer. If it's not possible open a new socket for file transfer and close it immediately. The proble with the second socket is that your application will consume another socket on the client side and limit the number of clients that can be serviced simultaneously.
If you decide to use a second socket most likely you'll want to spawn a second thread. If not does your network layer allow you to send the file and chat at the same time?