Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
2,27 MB
Nội dung
LỜI NĨI ĐẦU Trong thời kỳ kỷ ngun thơng tin nay, vấn đề trao đổi thông tin vô quan trọng Nhu cầu trao đổi thông tin gia tăng kinh tế ngày phát triển Do bùng nổ công nghệ thông tin vậy, người ta quan tâm sử dụng công nghệ tin học, đặc biệt công nghệ thiết kế Web Sự đời website tạo điều kiện cho việc trao đổi phổ biến thông tin dễ dàng không phụ thuộc vào vị trí địa lý Vì vậy, có hàng loạt ngơn ngữ lập trình đời để phục vụ cho việc phát triển Web Một ngôn ngữ ngày có nhiều nhà phát triển Web ưa chuộng sử dụng phổ biến PHP Là sinh viên ngành công nghệ thông tin với niềm đam mê lập trình Web, em chọn ngơn ngữ lập trình mạng PHP hệ quản trị sở liệu Microsoft SQL Sever 2005 để hoàn thành thành đồ án tốt nghiệp với tên “Ứng Dụng Cơng Nghệ Lập Trình Mạng Xây Dựng Hệ Thống Làm Việc Trực Tuyến Cho Công Ty TNHH Dịch Vụ Giải Pháp Sáng Tạo “ Em xin gửi lời cám ơn chân thành đến thầy giáo Đỗ Đình Cường hướng dẫn tận tình giúp em hồn thành đề tài này, qua em bổ sung nhiều kiến thức hồn thiện kỹ lập trình Mặc dù cố gắng song thời gian kinh nghiệm thiếu nên đồ án tốt nghiệp em cịn nhiều khiếm khuyết, em mong nhận giúp đỡ chân thành thầy cô bạn sinh viên để đồ án em hoàn thiện hơn! Sinh viên thực Nguyễn Hữu Tài GIỚI THIỆU ĐỀ TÀI I NỘI DUNG - LÝ DO CHỌN ĐỀ TÀI Tên đề tài:” Ứng Dụng Cơng Nghệ Lập Trình Mạng Xây Dựng Hệ Thống Làm Việc Trực Tuyến Cho Công Ty TNHH Dịch Vụ Giải Pháp Sáng Tạo ” I.1 CƠ SỞ LÝ THUYẾT LỰA CHỌN ĐỀ TÀI Ngày truyền thông đa phương tiện - multimedia ứng dụng nhanh chóng mở rộng nhiều dịch vụ thông tin phát triển thêm nhiều dịch vụ thông tin mới, thành phần thông tin quan trọng thiếu xa lộ thông tin Trong giới thông tin đa phương tiện gần hầu hết hoạt động chế độ hội nghị truyền hình tương tác có hình ảnh động cho phép nhiều người tham dự chế độ thơig gian thực, thông qua môi trường mạng LAN, WAN, Internet, XDSL, ISDN, (Intergated serviceDigital Network), ATM, PSTN( Public Switched Telephone Network) Với thực tế Việt Nam việc thực truyền thông đa phương tiện chi phí lớn, có số đơn vị có tiềm lực trì chi phí th thiết bị dịch vụ(sever, bảo mật, quan lý thời gian thực) Do đồ án này, em tiếp cận nghiên cứu tìm hiểu vấn đề cơng nghệ truyền thông đa phương tiện sử dụng WEB Chỉ cần với máy tính có nối mạng Internet, webcam, microphone,… thực hội nghị trực tuyến Sản Phẩm sau phát triển hoàn thiện làm giảm tối đa chi phí cho hội nghị truyền hình phổ biến Với chức sau: - Tạo phịng họp trực tuyến - Sử dụng hình ảnh âm - Thảo luận riêng sổ chat CHƯƠNG 1: TỔNG QUAN VỀ HỘI NGHỊ TRUYỀN HÌNH 1.1 Khái niệm 1.1.1 Hội nghị truyền hình gì? - Hội nghi truyền hình khơng đơn giản điện thoại hình máy tính cá nhân - Hội nghị truyền hình: Đó công nghệ đa phương tiện cho phép người sử dụng nghe nhìn thấy nhau, trao đổi liệu chế biến chúng chế độ tương tác nhờ sử dụng khả máy tính quen thuộc với tất người Để làm điều thiết phải có hai điều kiện quan trọng: Trong máy tính bạn phải cài đặt card liên kết hội nghi truyền hính với phần mềm tương ứng Bạn cần phải có khả kết nối với đồng nghiệp qua mạng máy tính, qua kênh liên kết điện thoại số 1.1.2 Sự cần thiết sử dụng hội nghị truyền hình Trăm nghe khơng thấy người đối thoại Phần lớn người cho chí tin tức thơng qua truyền hình hay nghe qua radio Còn việc ứng dụng hội nghị truyền hình điều khiển, quản lý, đào tạo, y tế, hệ thống an toàn nhiều lĩnh vực khác mang lại lợi ích vơ to lớn Tất nhiên hội nghị truyền hình khơng thay giao tiếp tự nhiên, cho phép đạt nguyên tắc, mức độ giao tiếp người xa cách khoảng cách địa lý, có ngàn vạn kilomet Theo số nghiên cứu đây, nói chuyện qua điện thoại truyền phần thơng tin gửi Cịn trường hợp có khả theo dõi cử chỉ, điệu người đối thoại hệ số hữu dụng việc truyền thông tin đạt cao gấp nhiều lần Những nhà quản lý, điều hành công ty sử dụng hội nghị truyền hình cho rằng: Các hệ thống hội nghị truyền hình giảm đáng kể chi phí thời gian tiền bạc cho chuyến công tác cộng tác viên thực toạn đàm hiệu 1.2 Những vấn đề việc truyền thông tin âm hình ảnh Để truyền thơng tin âm hình ảnh cầ thiết giải vấn đề: Vấn đề thứ kênh kết nối dùng để truyền thơng tin phải có độ cao Các kênh điện thoại thơng thường hồn tồn tích hợp để truyền tín hiệu âm thanh, khơng đảm bảo truyền ảnh có chất lượng (Ở thực có nhiều cách giải hệ thống nén chia kênh, chúng lúc ứng dụng được) Vấn đề giải chậm, từ từ(tại Việt Nam vấn dề dường dậm chân chỗ) Các nước khác có magnj cục hàng trục năm trước Hiện có lẽ quan mà máy tính khơng nối mạng Một mạng hồn tồn thích hợp để tổ chức hội nghị truyền hình chất lượng cao Vấn đề thứ hai vấn đề biến luống thông tin âm hình ảnh nghĩa mã hóa liệu truyền giải mã liệu nhận Vấn đề hội nghị truyền hình sử dụng thuật toán đặc biệt hiệu nên hàng chục hàng trăm lần Có thể nói truyền thơng tin khơng phải tín hiệu âm mà tham số quan chúng để khơi phục tín hiệu đầu nhận với chất lượng chấp nhận Nếu máy tính khơng kịp xử lý luồng tín hiệu có ảnh bị bỏ qua lỗi kênh xuất,…v.v CHƯƠNG 2: TỔNG QUAN VỀ LÝ THUYẾT 2.1 Ngơn ngữ lập trình PHP 2.1.1 Giới thiệu a.) Lịch sử đời PHP phát triển từ năm 1994 Rasmus Lerdorf Lúc đầu đặc tả Perl, sử dụng để lưu dấu vết người dùng trang Web Sau Rasmus Lerdorf phát triển PHP máy đặc tả (Scripting engine) Vào năm 1997, PHP phát triển nhanh chóng u thích nhiều người PHP khơng cịn dự án cá nhân Rasmus Lerdorf trở thành công nghệ Web quan trọng Zeev Suraski Andi Gutmans hoàn thiện việc phân tích cú pháp cho ngơn ngữ đến tháng năm 1998, PHP3 đời Cho đến tận thời điểm đó, PHP chưa lần phát triển thức, yêu cầu viết lại đặc tả đưa ra, sau PHP4 đời PHP4 nhanh so với PHP3 nhiều Vào tháng 10 năm 1998, theo đốn có tới 100000 tên miền sử dụng PHP Chỉ năm sau, PHP chiếm lĩnh triệu tên miền, PHP dường chiếm lĩnh ngơn ngữ lập trình Web, sử dụng hàng triệu Website, diễn đàn, Web mail,… b.) PHP gì? PHP viết từ Hypertext Preprocessor, ngôn ngữ kịch mã nguồn mở sử dụng cho mục đích chung, đặc biệt thích hợp cho việc phát triển Web nhúng vào HTML Hiện nay, PHP sử dụng rộng rãi Mã PHP thực thi phía Server, trình duyệt người dùng truy cập trang Web có chứa đoạn mã PHP trình duyệt nhận trang kết xử lý từ Web server, người dùng biết đoạn mã viết Mã PHP bao cặp dấu Tập tin PHP có phần mở rộng php php3 PHP tương tự JSP ASP với tập thẻ lệnh dùng cho trang HTML Điểm đặc biệt PHP phát triển hoàn toàn cho tảng Web, mà ứng dụng viết PHP ngắn gọn so với VBScript hay JSP Đây điểm mạnh PHP so với Perl Cú pháp PHP mượn từ nhiều ngôn ngữ khác C, Java, Perl… PHP giao tiếp với nhiều hệ CSDL MySQL, MS Access, Sybase, Oracle Microsoft SQL Khơng có khả thao tác CSDL, PHP nhiều khả khác IMAP, SNMP, LDAP, XML… PHP chạy hầu hết tảng hệ thống Trình máy chủ phân giải mã lệnh PHP tải miễn phí từ trang Web thức PHP Có lẽ yếu tố hấp dẫn nhất PHP hồn tồn miễn phí Với máy tính cấu hình vừa phải chạy Linux, cài đặt Apache, PHP MySQL, bạn có máy chủ phục vụ phục vụ nhiều ứng dụng Web tương đối Tồn chi phí thời gian bạn bỏ để cài đặt phần mềm PHP xem thay cho Perl PHP làm nhiều Perl, hạn chế làm cho PHP dễ học dễ dùng Nhiều nhà phát triển dùng kết hợp hai: Perl dùng cho tác vụ chạy bên PHP dùng cho việc xử lý bề mặt Komodo Active State Corp công cụ miễn phí dùng để phát triển PHP 2.1.2 Sử dụng PHP a.) Thẻ PHP Có loại khác thẻ PHP: - Kiểu Short: thẻ mặc định mà nhà lập trình PHP thường sử dụng - Kiểu định dạng XML: thẻ sử dụng với văn XML - Kiểu Script: trường hợp muốn sử dụng PHP script tương tự khai báo JavaScript hay VBScript Echo”PHP Script” ; - Kiểu ASP: b.) Gọi hàm PHP Để gọi hàm PHP, khai báo tương tự gọi hàm ngôn ngữ khác, hầu hết hàm gọi cần truyền tham số giá trị trả VD: Gọi hàm date() c.) Truy cập biến Form Thông thường cần lấy liệu người dùng nhập, dùng thẻ form trang Web nhằm ràng buộc tất thẻ input, select, textarea… Dữ liệu đến từ script biến PHP, nhận biết chúng cách sử dụng dấu $ trước tên biến Có cách để truy cập liệu form thông qua biến - Để lấy giá trị thẻ form theo dạng POST: $_POST[‘tên_thẻ’] - Để lấy giá trị thẻ form theo dạng GET: $_GET[‘tên_thẻ’] c.) Khai báo biến PHP Engine không cần yêu cầu khai báo biến trước sử dụng, nhiên nên tập thói quen khai báo khởi tạo giá trị ban đầu cho biến trước sử dụng chúng d.) Gán giá trị cho biến Để gán giá trị cho biến, biến chưa khai báo trước đó, biến coi vừa khai báo khởi tạo Trong trường hợp biến khai báo, biến thay đổi giá trị VD: e.) Kiểu liệu biến PHP PHP hỗ trợ kiểu liệu: - Interger: Sử dụng hầu hết cho giá trị có kiểu liệu số - Double: Sử dụng hầu hết cho giá trị có kiểu liệu số thực - String: Sử dụng hầu hết cho giá trị có kiểu liệu chuỗi, ký tự - Array: Sử dụng hầu hết cho giá trị có kiểu liệu mảng có phần tử kiểu liệu - Object: Sử dụng hầu hết cho giá trị có kiểu liệu đối tượng lớp f.) Toán tử PHP * Các phép tốn số học: Tốn tử Tên Ví dụ + Cộng $a + $b; - Trừ $a - $b; * Nhân $a*$b; / Chia $a/$b; % Modulo $a%$b; * Các phép toán gán kết hợp: Toán tử Sử dụng Tương tự += $a+=$b $a = $a + $b; ++ $a++ $a = $a + 1; -= $a-=$b $a = $a - $b; $a $a = $a – 1; *= $a*=$b $a = $a*$b; /= $a/=$b $a = $a/$b; %= $a%=$b $a = $a%$b; = $a.=$b $a = $a.$b; Sử dụng Ý nghĩa * Các phép logic Phép toán Ký hiệu ! NOT !$a Phép toán phủ định && AND $a && $b Trả true biến có giá trị true Ngược lại false || OR $a || $b Trả true $a hay $b hay biến có giá trị true and AND $a and $b Trả true biến có giá trị true Ngược lại false or OR $a or $b Trả true $a hay $b hay biến có giá trị true * Các phép toán so sánh Phép toán Sử dụng Ý nghĩa so sánh == $a= =$b $a $b === $a= = =$b $a kiểu liệu với $b != $a!=$b $a không $b $a$b $a không $b < $a < $b $a nhỏ $b $b $a lớn $b >= $a >= $b $a lớn $b g.) Kiểm tra biến PHP - is_array(): Kiểm tra biến array hay không - is_double(): Kiểm tra biến double hay không 10 room0.statusList.addItem({label:l("Busy"), Status:"Busy", icon:room0.sprites.horizontalBMPs(new Array("statusBusy"), 32)}); room0.statusSelector.addEventListener(Event.CHANGE, changeStatus); startWebserver(); } return; }// end function 4.3.2.Các hàm thiết lập kết nối camera: cam = Camera.getCamera(); hàm bắt kiện kích hoạt camera: cam.addEventListener(StatusEvent.STATUS, cameraActivity); hàm publishStream() gọi hàm cameraActivity() hàm publishStream() kết nối truyền hình ảnh lên server: Hình ảnh âm mã hóa truyền lên server thông qua Red file AS3 tạo public function publishStream() { var camStatus:*; var micStatus:uint; trace("Starting to publish:" + streamName); if (connection && streamName) { if (stream) { stream.attachCamera(null); stream.attachAudio(null); } 61 else { var netStatusHandler:* = function (event:NetStatusEvent) : void { if (event.info.code != "NetStream.Buffer.Empty" && event.info.code != "NetStream.Buffer.Full") { trace(streamName + " Broadcaster: " + event.info.code); } if (event.info.code == "NetStream.Buffer.Full") { stream.bufferTime = fullBuffer; } if (event.info.code == "NetStream.Buffer.Empty") { stream.bufferTime = latencyBuffer; if (closeWhenSent) { trace(streamName, "Closed on buffer empty"); stream.publish(); stream.close(); closeWhenSent = false; streamPublished = ""; } } return; }// end function ; stream = new NetStream(connection); 62 stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); } camStatus; micStatus; if (cam) { camStatus; if (!cam.muted) { if (allowVideo) { camStatus; stream.attachCamera(cam); if (vid) { vid.alpha = 1; } } else if (vid) { vid.alpha = 0.5; } } } if (mic) { micStatus; if (!mic.muted) { if (allowSound) 63 { micStatus; stream.attachAudio(mic); } } } if (camStatus == || micStatus == 2) { stream.bufferTime = latencyBuffer; if (streamPublished != streamName) { trace("Publishing stream: \'" + streamName + "\'"); stream.publish(streamName); streamPublished = streamName; } if (mic) { bMic.setLabel(mic.name); } if (cam) { bCam.setLabel(cam.name); } } connection.call("myOutputServer", null, camStatus, micStatus); } return; }// end function 4.3.3 Hàm lấy webcame từ server khác user khác: 64 Hàm tương tự hàm thiết lập kết nối camera playStream(connection, StreamName); public function playStream(param1:NetConnection, param2:String) { var netStatusHandler:Function; var Connection:* = param1; var StreamName:* = param2; netStatusHandler = function (event:NetStatusEvent) : void { if (event.info.code != "NetStream.Buffer.Empty" && event.info.code != "NetStream.Buffer.Full") { trace(StreamName + " Player: " + event.info.code); } switch(event.info.code) { case "NetStream.Buffer.Empty": { stream.bufferTime = startBuffer; break; } case "NetStream.Buffer.Full": { stream.bufferTime = loadBuffer; break; } case "NetStream.Play.StreamNotFound": { trace("Stream not found: " + StreamName); break; 65 } case "NetStream.Play.UnpublishNotify": { break; } case "NetStream.Play.PublishNotify": { playStream(connection, StreamName); break; } case "NetStream.Play.InsufficientBW": { manager.logWarning("Insuficcient bandwidth to show " + StreamName + "!"); playStream(connection, StreamName); break; } case "NetStream.Play.Start": case "NetStream.Play.Reset": { break; } case "NetStream.Play.Stop": { break; } default: { break; } } 66 return; }// end function ; connection = Connection; streamName = StreamName; active = true; maximize(); if (stream) { stream.close(); } stream = new NetStream(Connection); stream.client = this; stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); video.clear(); video.attachNetStream(null); video.attachNetStream(stream); trace("Playing " + StreamName); stream.bufferTime = startBuffer; stream.play(StreamName); sound.volume = 0.75; stream.soundTransform = sound; muted = false; if (contains(video)) { moveChildToTop(video); } if (contains(b_soundon)) { moveChildToTop(b_soundon); 67 } if (contains(b_soundoff)) { moveChildToTop(b_soundoff); } video.visible = true; setMuted(false); super.dResized(); _dTitle = StreamName; return; }// end function 68 4.4 Một số form website *Giao diện trang đăng nhập tài khoản người dùng Tại giao diện người dùng nhập tên, tài khoản lựa chọn quyền đăng nhập hệ thống Các cán cơng nhân viên mặc định có quyền hệ thống Ban lãnh đạo công ty phận quản lý có quyền (admintrator) Hình 4.1: Giao diện form đăng nhập hệ thống 69 *Kết nối client tới server Sau người dùng đăng nhập hệ thống client kết nối với Sever tải lincenses, thông tin cấu hình,… Hình 4.2: Kết nối client tới server 70 *Giao diện chương trình Giao diện chương trình xuất sau trình duyệt người dùng kết nối thành công với Sever công ty Tại giao diện người dùng quan sát thấy trạng thái hoạt động người dùng khác (Busy, waiting, ), tên phịng họp,… Hình 4.3: Giao diện chương trình – tham gia phịng họp 71 * Giao diện hiển thị hình ảnh – sổ chat Hình 4.4: Hiển thị hình ảnh webcam, thơng tin phịng chat *Giao diện hội nghị trực tuyến Đối thoại trực tiếp với cá nhân khác thông qua thiết bị truyền thơng Hình 4.5: Nói chuyện voice hình ảnh trực tiếp qua webcam 72 *Giao diện chức tạo phịng họp trực tuyến Cán quản lý cơng ty đăng nhập hệ thống với phân quyền quản trị có trách nhiệm thơng báo lịch hội thảo tạo phòng họp trực tuyến 73 TÀI LIỆU THAM KHẢO [1] Ebook LEARNING ACTION SCRIPT BEGINNER ‘S GUIDE [2] Website:http://www.diendantinhoc.net/ [3] Website: http://www.phpvn.org/ [4] Website: http://www.w3schools.com/ [5] Website: http://www.zend.com/ NHẬN XÉT CỦA GIÁO VIÊN 74 75 ... Tên đề tài:” Ứng Dụng Công Nghệ Lập Trình Mạng Xây Dựng Hệ Thống Làm Việc Trực Tuyến Cho Công Ty TNHH Dịch Vụ Giải Pháp Sáng Tạo ” I.1 CƠ SỞ LÝ THUYẾT LỰA CHỌN ĐỀ TÀI Ngày truyền thông đa phương... người dùng tạo họp trực tuyến - Lịch làm việc công ty 3.5 Giải vấn đề Xây dựng toán hội nghị trực tuyến cho phép cán nhân viên Công Ty TNHH Dịch Vụ Giải Pháp Sáng Tạo trao đổi trực tiếp với thông. .. viên công ty vào hệ thống 39 3.4 Các thông tin đầu vào đầu hệ thống 3.4.1 Thông tin đầu vào hệ thống - Thông tin tài khoản người dùng - Thông tin kế hoạch, lịch làm việc 3.4.2 Thông tin đầu hệ thống