自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenHarmony與蘋果的夢(mèng)幻聯(lián)動(dòng)—服務(wù)器端

系統(tǒng) OpenHarmony
配置wifi連接的配置文本–>編寫TCP服務(wù)器的C文件 --> 配置BUILD.gn --> 將我們的代碼添加編譯–>編譯燒錄。

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

一、前言

上一篇文章進(jìn)行了C語(yǔ)言API的講解,本篇文章將在小熊派上進(jìn)行實(shí)操。

二、準(zhǔn)備工作

1、小熊派-鴻蒙·叔(BearPi-HM Micro)一臺(tái)。

2、已經(jīng)配置好小熊派開發(fā)環(huán)境的電腦一臺(tái)。

3、將小熊派接入到局域網(wǎng)。

三、流程簡(jiǎn)介

配置wifi連接的配置文本–>編寫TCP服務(wù)器的C文件 --> 配置BUILD.gn --> 將我們的代碼添加編譯–>編譯燒錄。

四、WIFI配置

打開applications/BearPi/BearPi-HM_Micro/samples/communication/wpa_supplicant/config/wpa_supplicant.conf配置文件,修改ssid和psk為你自己家路由器或者手機(jī)熱點(diǎn)的名字和密碼。

五、業(yè)務(wù)代碼編寫

我們?cè)诠こ棠夸浵?applications/BearPi/BearPi-HM_Micro/samples里面存放我們的代碼。

目錄結(jié)構(gòu)如下:

├─ tcp_http     #源碼目錄
├── BUILD.gn #編輯配置文件
└── tcp_http.c #網(wǎng)絡(luò)通信源碼

1、 編寫TCP服務(wù)器源碼

本部分是整個(gè)TCP服務(wù)器實(shí)現(xiàn)的核心,打開我們創(chuàng)建的tcp_http.c文件,添加以下代碼。為了方便測(cè)試代碼的有效性,我們先拿TCP服務(wù)器做一個(gè)簡(jiǎn)單的網(wǎng)站,用到了一點(diǎn)點(diǎn)簡(jiǎn)單的HTTP協(xié)議。

#include <stdio.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
#include <string.h>
int main()
{
//1創(chuàng)建socket
int socket_server = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
int opt = 1;
setsockopt(socket_server,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof( opt ));//該函數(shù)解決端口占用問(wèn)題
//2.綁定端口
struct sockaddr_in server_addr;
memset(&server_addr,0,sizeof(struct sockaddr_in));//把結(jié)構(gòu)體里面的數(shù)據(jù)清零
server_addr.sin_port = htons(80);
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);//任意ip都能訪問(wèn)此服務(wù)
server_addr.sin_family = AF_INET;
bind(socket_server,(struct sockaddr*)&server_addr,sizeof(server_addr));
//3.監(jiān)聽(tīng)端口
listen(socket_server,5);//5表示最大連接數(shù)
while(1){
//4.進(jìn)入阻塞狀態(tài)
struct sockaddr_in client_addr;
int client_lenght = sizeof(client_addr);
int client_id = accept(socket_server,(struct sockaddr*)&client_addr,&client_lenght);
//5.讀取客戶端發(fā)來(lái)的消息
char buffer[1024];
recv(client_id,buffer,sizeof(buffer),0);
printf("%s",buffer);
//5.根據(jù)HTTP協(xié)議的格式,反饋一個(gè)網(wǎng)頁(yè)給客戶端
const char buf[]="HTTP/1.1 200 OK\r\nDate: Fri, 22 May 2009 06:07:21 GMT\r\nContent-Type: text/html; charset=UTF-8\r\n\r\n<html><head></head><body><p>Hello Openharmony!</p></body></html>";
send(client_id,buf,sizeof(buf),0);
//6.關(guān)閉套接字
close(client_id);
}
return 0;
}

2、 配置BUILD.gn文件

import("http://build/lite/config/component/lite_component.gni")
executable("tcp_http") {
sources = [
"tcp_http.c",
]
include_dirs = [
]
}
lite_component("net_app") {
features = [
":tcp_http",
]
}

3、 配置編譯組件

我們要將我們的代碼加入到my_sample組件中,打開build/lite/components/applications.json。

添加圖中的兩條路徑。

六、編譯燒錄

1、 編譯

# 進(jìn)入下載路徑
cd ~/bearpi-hm_micro_small
# 開始編譯
hb set
# 輸入當(dāng)前路徑
.
# 回車選擇“bearpi-hm_micro”
# 編譯
hb build -t notest --tee -f
# 等待直到屏幕出現(xiàn):build success字樣,說(shuō)明編譯成功。

2、燒錄

先復(fù)制出來(lái)編譯好的鏡像。

cp out/bearpi_hm_micro/bearpi_hm_micro/OHOS_Image.stm32 applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/
cp out/bearpi_hm_micro/bearpi_hm_micro/rootfs_vfat.img applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/
cp out/bearpi_hm_micro/bearpi_hm_micro/userfs_vfat.img applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/

復(fù)制再使用STM32CubeProgrammer燒錄鏡像,純Linux開發(fā)環(huán)境參考我之前的教程,Windows混合開發(fā)環(huán)境請(qǐng)參考官方教程。

七、測(cè)試

燒錄成功后,切換撥碼,進(jìn)入到系統(tǒng)。

串口連接小熊派的ohos終端,首先要進(jìn)行wifi配置,在終端輸入以下命令配置wifi。

./bin/wpa_supplicant -i wlan0 -d -c /etc/wpa_supplicant.conf

輸入此命令后大概等3分鐘,等待小熊派連接上wifi。

通過(guò)以下命令查看是否分配到ip可以知道小熊派是否已經(jīng)連接上了wifi。

ifconfig

如果有了IP表示已經(jīng)連接上了wifi,我們接著運(yùn)行我們寫tcp服務(wù)器。

cd bin/   #先進(jìn)入到bin目錄中 
./tcp_http #運(yùn)行我們的程序

復(fù)制接著我們可以在我們同在一個(gè)局域網(wǎng)的電腦上,打開瀏覽器,輸入小熊派的ip訪問(wèn)服務(wù)器。

瀏覽器能夠成功顯示“Hello Openharmony”,表示已經(jīng)成功搭建好了TCP服務(wù)器。

八、尾言

大家可能關(guān)心一開始的與蘋果siri聯(lián)動(dòng)的怎么實(shí)現(xiàn),考慮大多數(shù)小伙伴的復(fù)現(xiàn),先做了一個(gè)簡(jiǎn)單的http服務(wù)器,大家可以直接在瀏覽器上訪問(wèn)即可以調(diào)試。下篇文章會(huì)給大家最終實(shí)現(xiàn)的代碼。希望大家能用網(wǎng)絡(luò)通信,開發(fā)更多有意思的項(xiàng)目。

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來(lái)源: 鴻蒙社區(qū)
相關(guān)推薦

2022-04-27 15:12:06

TCP服務(wù)器鴻蒙

2011-06-07 16:01:46

Android 服務(wù)器 數(shù)據(jù)交互

2013-12-25 11:01:16

JavaScript

2012-10-15 13:40:15

IBMdw

2014-01-15 10:06:30

vFlash

2024-02-22 13:47:40

2010-08-06 15:35:06

Flex服務(wù)器

2009-06-10 16:25:02

2010-08-27 10:23:26

DHCP服務(wù)器

2021-09-02 10:49:25

Node.jsPHP服務(wù)器開發(fā)

2014-11-14 11:03:56

微軟.NET

2023-06-30 08:00:00

漏洞網(wǎng)絡(luò)安全SSTI

2017-12-06 22:29:53

2015-11-04 14:14:56

HTTP網(wǎng)絡(luò)協(xié)議

2009-07-06 17:22:54

JSP服務(wù)器

2021-07-27 06:14:32

服務(wù)器端移動(dòng)端性能測(cè)試

2009-02-16 16:30:23

OperaTurbo服務(wù)器

2010-04-21 13:18:33

RAC負(fù)載均衡配置

2010-05-27 18:49:38

SVN入門

2012-05-21 10:52:43

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)