Golang melaksanakan hailing teksi

王林
Lepaskan: 2023-05-18 22:49:36
asal
534 orang telah melayarinya

Dengan pecutan berterusan pembandaran dan keperluan orang ramai yang semakin meningkat untuk kaedah perjalanan, perisian panggilan teksi telah menjadi bahagian penting dalam pengangkutan bandar moden. Melaksanakan perisian panggilan teksi yang serupa dengan Uber ialah projek yang diminati ramai pengaturcara. Artikel ini akan memperkenalkan cara menggunakan Golang untuk menulis perisian panggilan teksi yang mudah.

  1. Gambaran Keseluruhan Projek

Fungsi asas perisian panggilan teksi ini ialah: pengguna boleh memilih titik permulaan, destinasi dan model kereta yang diingini pada telefon bimbit, dan sistem akan memadankan kenderaan yang sesuai mengikut keperluan pengguna Pemandu melengkapkan tempahan. Dengan fungsi asas ini, kami boleh mengembangkan lebih banyak fungsi secara beransur-ansur, seperti komunikasi antara pemandu dan penumpang, paparan keadaan trafik masa nyata, dsb. Walau bagaimanapun, artikel ini akan menumpukan pada pelaksanaan fungsi yang paling asas.

  1. Pemilihan Teknologi

Untuk merealisasikan projek ini, kami memilih teknologi berikut:

  • Golang: Sebagai tambahan kepada bahagian yang dijelaskan dalam artikel ini, keseluruhan Semua projek menggunakan Golang.
  • MySQL: digunakan untuk menyimpan maklumat pengguna, maklumat pesanan, maklumat kenderaan, dsb.
  • Redis: digunakan untuk menyimpan status dalam talian pengguna dan pemandu.
  • Nginx: digunakan untuk proksi terbalik dan imbangan beban.
  1. Proses pelaksanaan

3.1 Klien

Fungsi yang perlu dilaksanakan pada klien ialah: pilih titik permulaan, destinasi dan jenis kereta, dan buat pesanan , pembayaran dan pembatalan pesanan, dsb. Di sini kami menganggap bahawa pengguna telah log masuk dan mendaftar, dan telah mengikat pembayaran Alipay atau WeChat.

Apabila pengguna mengklik butang pesanan, pelanggan akan menghantar permintaan kepada pelayan, termasuk longitud, latitud, jenis kenderaan dan maklumat lain tentang asal dan destinasi. Pelayan menyimpan maklumat ini ke dalam MySQL dan menanyakan pemacu yang layak daripada Redis. Maklumat pemandu yang ditanya akan dihantar ke terminal pemacu, dan pemandu boleh memilih sama ada untuk menerima pesanan pada terminal pelanggan. Jika pemandu menerima pesanan, pelanggan boleh melihat lokasi pemandu, nombor plat dan maklumat lain. Apabila pesanan selesai, pelanggan akan memberitahu pelayan untuk membuat pembayaran Selepas pembayaran selesai, pesanan tamat.

3.2 Terminal Pemandu

Fungsi yang perlu dilaksanakan oleh terminal pemacu termasuk: menerima pesanan, mengesahkan pesanan, membayar dan menamatkan pesanan, dsb. Apabila pemandu menerima pesanan yang dipadankan, pelanggan akan menghantar permintaan dan memberikan maklumat pesanan. Selepas pemandu mengesahkan pesanan, pelanggan akan memberitahu pelayan untuk memulakan pengebilan. Apabila pesanan selesai, pelanggan akan memberitahu pelayan untuk menamatkan pengebilan dan menghantar maklumat pengebilan.

3.3 Bahagian pelayan

Fungsi utama yang perlu dilaksanakan pada bahagian pelayan ialah: pemadanan pesanan, pengebilan, komunikasi dengan pelanggan dan pemandu, dsb.

Fungsi pertama yang perlu dilaksanakan oleh pelayan adalah untuk memadankan pemandu yang layak berdasarkan titik permulaan dan keadaan destinasi yang disediakan oleh terminal penumpang dan menyimpan maklumat pesanan dalam MySQL. Semasa menunggu pemandu menerima pesanan, pelayan perlu terus bertanya kepada pemandu yang berkelayakan daripada Redis dan menghantar maklumat pesanan kepada hujung pemandu. Pemandu boleh memilih sama ada untuk menerima pesanan mengikut keadaannya sendiri.

Apabila pesanan diterima, pelayan perlu memberitahu pelanggan untuk memulakan pengebilan. Peraturan pengebilan boleh ditetapkan secara berbeza berdasarkan faktor seperti wilayah, model kereta, masa, dsb. Selepas pesanan selesai, pelayan perlu menghantar maklumat pengebilan kepada kedua-dua pelanggan dan menyimpan maklumat pengebilan dalam MySQL. Jika pemandu telah mengesahkan bil, pelayan boleh memulakan permintaan pembayaran kepada sistem pembayaran.

Pelayan juga perlu melaksanakan komunikasi segera dengan pelanggan dan pemandu supaya pemberitahuan boleh dimulakan dalam masa apabila perubahan penting berlaku dalam pesanan.

  1. Ringkasan

Dalam artikel ini, kami memperkenalkan proses asas menulis perisian panggilan teksi mudah menggunakan Golang. Melalui projek ini, kita boleh belajar cara menggunakan MySQL dan Redis untuk penyimpanan data, dan cara menggunakan Golang untuk pembangunan sisi pelayan. Walau bagaimanapun, perisian panggilan teksi yang sebenar adalah lebih rumit daripada projek ini, dan terdapat banyak fungsi yang perlu dilaksanakan. Jika berminat, pembaca boleh terus mengkaji secara mendalam dan menambah baik serta menyempurnakan projek ini.

Atas ialah kandungan terperinci Golang melaksanakan hailing teksi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!