I have a PC(wire) and a MacBook Pro(wifi) connected to my router(Binatone). I tried transferring files between the two and I got 3 MB/s in wifi and 8 MB/s using cable. Then I used a crossover Ethernet cable and connected my MacBook Pro directly to the PC and the results was 28 MB/s. I tried disabling firewall in the router and the result was the same. I don't understand where the bottle neck is. Is there any settings in the router which I should change to increase the speed?
The fact when connected directly you get 28MB/s strongly suggests your computers have Gigabit adapters, since 28MB/s (megabytes/sec) is 224Mbps (megabits/sec), far beyond the capabilities of most budget consumer routers, which are typically limited to 100Mbps. IOW, yes, it's your router that's the problem, but there's nothing you can do to the router to fix it. It's just a limitation of its switch.
You could get a new router w/ Gigabit switch, or else get a standalone Gigabit switch, patch it to the router's switch, and hang all your Gigabit devices off the Gigabit switch. Now any traffic that remains local to that Gigabit switch will maintain Gigabit speeds.
Unfortunately it’s not a perfect solution. Wireless clients remain at a disadvantage since they always hit the wireless router and its 100Mbps switch before accessing anything on the Gigabit switch. But it only matters if you believe your wireless clients can actually achieve Gigabit speeds (>100Mbps). With wireless N, maybe, maybe not. But if they can, then either you need a wireless router w/ Gigabit switch, or else disable the wireless radio on the wireless router and patch a different WAP (w/ Gigabit port, of course) on the Gigabit switch (so now wireless users hit that switch first).
So, even if I get a gigabit wifi router, what do you think my wifi file transfer speed will be?? I have a MacBook Pro and I think it uses 802.11n Wi-Fi wireless networking;3 IEEE 802.11a/b/g compatible
I have no idea what your wireless speeds will be, just too many variables (distance, number of obstacles, level of interference, etc.). It matters too whether you're using wireless on both sides, client and server, since unlike wire, wireless is typically half-duplex, meaning while one side is transmitting (client and router), the other side is waiting (server and router), which cuts your throughput in HALF. Add more concurrent wireless users and throughput falls even further. In cases where you had a continuing, daily need to transfer files solely over wifi, you might be better off to establish a secondary adhoc wireless network between the machines. By doing so you’ve eliminated the additional wireless hop created by the router. Of course, using a wired connection directly between them would always trump wireless (as you discovered). And it would eliminate the need for a Gigabit router if those were the only Gigabit devices, but I’m assuming that’s not a practical, long term solution.
Anyway, at least the Gigabit router won't be a potential choke point whatever the particular circumstances.