TCP网络通信编程,多线程(代码见附录)

实验目的:

        实现PC与物联网试验箱间传输文件,PC作为客户端,在PC上输入一个文件名,通过编制的程序上传到物
    联网试验箱上。传输协议采用TCP协议。在PC的linux系统上运行client,在物联网试验箱的linux系统上运
    行server。
实验步骤:
   (1)在PC端打开虚拟机(unbuntu系统),将实验板接上电源并使用网线将开发板与PC相连。
   (2)使用命令ifconfig eth0 192.168.1.21设置PC端IP地址,
      并在实验板上的设置中设置开发板端IP为192.168.1.20.
   (3)在PC端使用命令telnet 192.168.1.20连接至开发板
   (4)开启新的终端窗口,将编写好的pthreadserver.c通过pc命令复制到develop目录中,并使用
      命令arm-linux-gcc –o pthreadserver pthreadserver.c –lpthread对服务器端程序进行交叉编译.
   (5)接着在开发板中使用命令:mount –o nolock –t nfs192.168.1.21:/home/unsp/develop/ /mnt,
      挂载PC端的develop目录至开发板的mnt目录下。
   (6)在开发板的home目录下使用命令:mkdirserver,新建一个服务器端目录,接着进入/mnt目录下使用
      命令:pc pthreadserver /home/server,将服务器端程序复制到新建的目录中。
   (7)在开发板的/home/server目录下使用命令:./pthreadserver,打开服务器端程序。
   (8)在PC端使用命令:./client192.168.1.20, 打开客户端程序,并根据提示信息(Please Input File
      Name OnClient)输入客户端所在目录下存在的文件名。(可以打开多个客户端同时传输文件)
   (9)传输文件成功,客户端程序显示发送成功信息并退出,服务器端程序显示接收数据成功信息并继续监听
   (10)使用命令ctrl + c结束服务器端程序,并使用命令:ls –l,
       可以查看从客户端传输至服务器端的文件信息。

   注:可在PC端进行测试(IP:127.0.0.1)

实验结果:

(1)telnet, 挂载:

嵌入式系统下文件传输实验_第1张图片

(2)交叉编译:

嵌入式系统下文件传输实验_第2张图片

(3)多线程文件传输演示:

嵌入式系统下文件传输实验_第3张图片