RioTboard板子·····linux系统上C语言版网络编程实验
RioTboard板子·····linux系统上C语言版网络编程实验
继上一帖子是java语言版的网络编程实验socket网络编程:linux下实现聊天室RioTboard板子·····linux系统上C语言版网络编程实验,现在推出C语言版的。代码是有参考其他文献的,如有雷同socket网络编程:linux下实现聊天室,纯属巧合!
想法是将Rio的系统搭建成一个服务器 端socket网络编程:linux下实现聊天室,在上面运行服务器端的c程序。
电脑 作为 端RioTboard板子·····linux系统上C语言版网络编程实验,运行客户端的c程序。
````````````````````````````````````````````````````````````````````````````````````````````````````
步骤:1、服务器端程序的编写 .c
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
void main()
pid_t fd;
int ,;
char ; //定义要接收的数据缓冲区
; //定义网络套接字地址结构
= (,,0); //创建一个套接字,用于监听
bzero(&,( )); //地址结构清零
. = ; //指定使用的通讯协议族
.. = htonl(); //指定接受任何连接
. = htons(5000); //指定监听的端口
bind(,( *)&,( ));//给套接口邦定地址
(,1024); //开始监听
= (,( *)NULL, NULL);
//建立通讯的套接字,函数,等待客户端程序使用函数的连接
recv(,,(),0); //接收服务器的数据
("%s\n",); //打印接收到的数据
sleep(2);
close(); //关闭通讯套接字
close(); //关闭监听套接字
```````````````````````````````````````````````````````````````````````````````````````````````````
客户端程序的编写 .c
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
int main(int argc,char **argv)
pid_t fd;
const char buff = "Hello! here\r\n"; //定义要发送的数据缓冲区;
int ,; //定义一个套接字,用于通讯
;//定义网络套接字地址结构
if(argc!= 2)
("Usage: echo ip地址");
exit(0);
=(,,0); //创建一个套接字
bzero(&,());
. = ; //指定使用的通讯协议族
. = htons(5000);//指定要连接的服务器的端口
(, argv, &.);
(,( *)&,()); //连接服务器
send(,buff,(buff), 0);//向客户端发送数据
close(); //关闭套接字
(0);
```````````````````````````````````````````````````````````````````````````````````````````````````
步骤:2、程序的编译
.c 是将运行在RIO板子上的,因此需要使用交叉编译工具,这里我就使用官网提供的交叉编译工具。
在电脑终端中,运行指令 $arm-linux-gcc -o -RIO .c
编译后成功得到 -RIO 这个可执行文件。
然后用$scp /home//-RIO @192.168.1.122:~ 指令将这个可执行文件传递到RIO板子系统上
运行时输入指令 ./-RIO
.c 是将运行在电脑上的,编译输入指令:$gcc .c -o -PC 编译后成功得到 -PC 这个可执行文件。 运行时输入指令 ./-PC 192.168.1.122 //此处IP 为服务器端IP地址
3、运行
首先运行服务器端程序,然后运行客户端程序,会看到服务器端有显示信息。