关于局域网内计算机的通信

一台计算机是怎么将自己内存中的东西变成数据报然后传递给处于同一局域网内另一台计算机的,能不能详细的说明一下,谢谢啦。

  1. 将内存中的数据保存至第三方平台,比如数据库
  2. 在另外一台PC上读取此数据库内的数据

标准的时候用二进制数组,以一定的协议发送过去,接收后,按对应的协议解析回来数据

首先你应该明白网络通讯是分层的。所以你可以在任何层上进行通讯,当然对方要用对应的程序去解析。

比如说,在IP层上,你可以用raw socket,在传输层上,可以用socket,用udp协议和tcp协议。你还可以在应用层使用http之类的协议。

纠正下你的观点,内存中的东西就是数据,无须“变成数据”。你只要选定你采用的协议,按照一定的格式将数据发给特定或者不特定的主机接受就可以了。

如果你什么都不会,也可以使用现成的控件或者类库,从编程的角度来说,它们和调用别的函数也没有什么不同。就好比一个人只要知道网址,不需要什么计算机专业知识就可以上网一样。

c/s通信是很常见的通信方式。更一般的说,你的需求本质上是进程间通信,即IPC。利用socket在进程间通信是一种很常见的方式。实现步骤:
1、server端:启用一个socket监听
2、client端:向socket套接字写数据,可以像操作文件指针一样,例:fwrite(foutput,size,nmemb,finput)(标准io)
注:tcp保证数据的有效交付,所以只要把数据组织到一个结构体中,然后把数据写到socket即可。当然,服务端使用户端相同的协议解码数据
,这样就实现c/s通信。