1. C 语言socket 的send数据太大,最大能发送多少如何分批发送

如果你SOCKET发的数据报,比如UDP协议, 那么是有最大可发送大小.

这可以用下面这样getsockopt取得最大数据报大小.
----------------------------------------
SOCKET s;
int iSize, iVal, ret;

.....
iSize = sizeof(iVal);
ret = getsockopt(s, SOL_SOCKET, SO_MAX_MSG_SIZE, (char *)&iVal, &iSize);

//-----------------------------------------
如果是TCP,则不需要这样做.

你send返回的字节数有801770个字节(是字节数吧!),和send里的规定length一样大,这可以表明你成功的将这些数据提交底层TCP协议栈去发送。

接收方要是处理成确的,是可以正确无误的收到这些数据的。

//---------------------------------------------

TCP 提供的是可靠的数据流服务 , 这意味着, 接收方,并不需要关心也不应该假定发送方调用了多少次SEND, 它只需要管的是通过若干次RECV把数据从协议栈的缓冲区读取出来。
TCP不必担心丢数据,但发送的时候,SEND要注意处理返回值,如果是阻塞方式,太多的数据会被阻塞, 如果是非阻方式,返回缓冲区满错,然后延时重发。

2. 用C语言怎么实现将数据从一台电脑传输给另一台电脑,是通过文件操作吗

可以使用 TCP/IP通信,把数据通过网络 socket来传输