رفتن به مطلب

امین مهدی نژاد

معاون انجمن
  • تعداد ارسال ها

    716
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    135

تمامی مطالب نوشته شده توسط امین مهدی نژاد

  1. دمت گرم. سورس خوبی بود. البته دوستان بدونن که برای ساخت یک تماس صوتی استاندارد یا باید از کتابخانه SIP استفاده کنند و برای سمت سرورش هم با نصب PBX مناسب و سازگار با موبایل اونو راه اندازی کنن. و یا هم با WEBRTC اونو پیاده سازی کنن.
  2. سمت سرور کلوسیوس با Node.js ساخته شده و مثال ما در اینجا با تایپ اسکریپت کد می زنیم نحوه اجرا سرور کد سمت سرور را انتهای مطلب دانلود کنید . و با دو دستور زیر برای اجرای اون اقدام کنید npm install npm start کد راه اندازی سرور import * as express from 'express'; import { createServer } from 'http'; import { Server } from 'colyseus'; // Import demo room handlers import { ChatRoom } from "./rooms/chat" const port = 3333 const app = express(); app.use(express.json()); // Attach WebSocket Server on HTTP Server. const gameServer = new Server({ server: createServer(app), express: app }); // Register PublicRoom as "chat" gameServer.define("exam", ChatRoom); gameServer.onShutdown(function () { console.log(`game server is going down.`); }); gameServer.listen(port, '0.0.0.0'); console.log(`Listening on http://localhost:${port}`); در کد بالا سرور را راه اندازی کرده و Room مورد نظر بازی را معرفی میکنیم. پورت اتصال و تنظیمات اتصال به Room خاصی را مشخص میکنیم ساخت اتاق بازی import { Room, Client } from "colyseus" var shortid = require('shortid'); export class ChatRoom extends Room { maxClients = 2; autoDispose = false; onCreate?(options: any): void { console.log("Room created!", options); } onJoin?(client: Client, options?: any, auth?: any): void | Promise<any> { console.log('onJoin(', client.id, ')', options); } onLeave?(client: Client, consented?: boolean): void | Promise<any>{ console.log("onLeave(" + client.sessionId + ")"); } onMessage(client: Client, data: any): void { console.log("Room received message from", client.id, ":", data); this.broadcast(data); } onDispose?(): void | Promise<any> { console.log("Dispose Room"); } } در کد بالا حداکثر تعداد کاربران هر اتاق را تعیین کرده و رویداد های لازم در رابطه با واکنش رفتار کاربران هم در سورس وجود دارد توضیحات بیشتر در اینجا «موفق باشید.»
  3. اینکی می خواد تو نت زیاد پیدا میشه برخی ارائه دهندگان هاست گیم سرورهای مناسب ارائه میدن برخی هم مخصوص بازی های خاص مثلا https://www.topmix-game.ir/
  4. برای استفاده از این کتابخونه هم باید سمت سرور و هم سمت بیسیک را آموزش بدهم. فعلا قسمت بیسیک رو آموزش داده و در ادامه سمت سرور را با مثالی آموظش میدهم. مپ دیتا مپ دیتای موجود در این کتابخونه برای ارسال و دریافت اطلاعات با سرور مورد استفاده قرار میگیرد در ابتدا به متغیر ساخته شده با مپ دیتا نام سابی که قرار است اطلاعات به آن برگشت داده شود نوشته خواهد شد و در ادامه اطلاعات را همانند مپ های مرسوم بیسیک به صورت کلید/مقدار وارد نمایید. Dim ird As irMapData ird.init("net_test") ird.put("msg","test") ماژول کلوسیوس این ماژول اصلی این کتابخانه می باشد.و دارای ساب های زیر میباشد init مقدار دهی اولیه متغیر مربوط به ماژولی که ساب های برگشتی آن باید اجرا شود را وارد نمایید connect اتصال به سرور - آدرس سرور را وارد نمایید create ساخت یک کلن جدید join اتصال به یک کلن joinOrCreate اتصال و یا ساخت کلن (اگر کلنی خالی نبود یک جدید بساز) joinById اتصال به کلنی با آیدی خاص reJoin اتصال به کلن قبلی در موارد قطع و وصلی اینترنت کاربرد دارد getRoomID گرفتن آیدی یک کلن getRoomSession گرفتن نشس یک کلن close بستن اتصال send ارسال اطلاعات به سرور مثال: Sub Globals Dim ir As irColyseus End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("l") ir.init(Me) End Sub Sub Button1_Click ir.connect("ws://192.168.1.100:3333") ir.joinOrCreate("exam",Null) End Sub Sub Net_Join(str As String) Log(str) End Sub Sub Button2_Click Dim ird As irMapData ird.init("net_test") ird.put("msg","amin") ir.send(ird) End Sub Sub net_test(ird As irMapData) Log(ird.get("msg")) ToastMessageShow(ird.get("msg"),False) End Sub «موفق باشید.»
  5. امین مهدی نژاد

    دریافتirColyseus

    مشاهده فایل irColyseus کتابخانه کلوسیوس کتابخانه ای کاربردی در جهت آنلاین نمودن بازی ها و یا ساخت اپهای آنلاین می باشد. البته در اصل این کتابخانه مخصوص بازی های چند نفره نوبتی مانند شطرنج می باشد. نسخه فعلی فقط با نسخه 0.11 کلوسیوس هماهنگ می باشد. کتابخانه ای که یک سال پیش آن را رپ نموده و چندین بار از آن استفاده نموده ام آموزش استفاده در ادامه توضیح داده خواهد شد. منابع: سایت اصلی کلوسیوس ارسال کننده امین مهدی نژاد ارسال پنجشنبه, 24 مهر 1399 دسته کتابخانه ها
  6. بیا تلگرم ببینم چیه مشکل
  7. گوشی خودمم همینه با همون تست کردم مشکلی نداشت
  8. خیر. در پس زمینه اینکار رو نمیکنه که بخواد گوشی روت باشه
  9. امین مهدی نژاد

    دریافتirGpsDetector

    irGpsDetector مشاهده فایل کتابخانه ای برای روشن کردن GPS منبع:https://github.com/Pulimet/GpsDetector-Library ارسال کننده امین مهدی نژاد ارسال پنجشنبه, 13 شهریور 1399 دسته کتابخانه ها  
  10. فقط شنبه ها حسابه

    .

    .

    .

    البته انشاا... شنبه هفته آینده.

     

    امیدوارم مث شنبه های قبلی نشه

    :bigsmile:

    1. نمایش دیدگاه های قبلی  بیشتر 5
    2. مجید آرتا

      مجید آرتا

      نیاز به تجدید نظر داره بنظرم :unknown: بزار فک کنم یکم :gamer:

    3. امین مهدی نژاد

      امین مهدی نژاد

      چت کردن حال میده ها بیا تلگرام بچتیم:gamer1:

    4. arastooms

      arastooms

      فقط شنبه صبح 

  11. با سلام خدمت دوستان و بخصوص مجید جان با اومدن کرونا تغیراتی تو زندگی خانه نشینی ما برنامه نویسان نداشته من خودم اسفند رو که به طور معمول با برنمه نویسی گذروندم. عید رو هم متاسفانه با اینکه بسیار دلم می خواست مسافرت برم. چون کل سال ۹۸ اصلا حتی یه روز هم از مشهد خارج نشدم. امیدم به عید بود اینم اینطوری شد. یه هفته اول سال رو از برنامه نویسی فاصله گرفتم تا استراحت کنم. ولی خسته شدم از بیکاری هفته دوم رو شروع کردم کمی منابع آموزشی رو بگردم و برنامه نویسی کنم. کار دیگه ای که کردم چهار روز اخیر رو برای عوارض برنامهد نویسی به دکتر و آزمایشگاه هم رفتم عوارض زیر عوض کردن شیشه های عینک. بخاطر ضعیف تر شدن چشم ها راهی برای درمان کبد چرب بخاطر بی تحرکی و زیاد نشستن بر صندلی درمان آرتروز گردن بخاطر کار شبانه روزی با رایانه و لپتاپ درمان انگل بخاطر خوردن هله هوله هنگام برنامه نویسی درمان کمبود ویتامین دی بخاطر ندیدن نور خورشید سال ۹۸ رو با این فکر که برنامه نویسی رو رها کنم شروع کردم. ولی نتونستم. کمکم رفتم سراغ باشگاه ورزشی رفتن و اصلاح عادات تا این مشکلات حل بشه. امسال با جدیت به سلامتم فکر می کنم پنج شنبه رفتم به دکتر و چکاپ کامل بدن و درمان رو شروع کردم. ورزشهای لازم برای درمان گردن درد و... آرزوی سلامتی برای تمامی دوستان دارم.
  12. نسخه جدید کتابخونه افزوده شد نسخه ۴ از ffmprg رو از اینجا دانلود کنید http://s7.picofile.com/file/8389718200/FFmpeg.zip.html نسخه های ۳ و قدیمی تر و با امکانات متفاوت هم از قبل قرار دادم تا بر اساس حجم و سایز انتخاب کنید. در نسخه جدید موارد زیر اضافه شده ffprobe قابلیت قرار دادن همزمان ffmpeg برای نسخه های متفاوت cpu (دقت کنید در پوشه های جدا قرار دهید) بهبود عملکرد رویدادها مثال زیر رو بررسی کنید. http://s7.picofile.com/file/8389718884/FFMPEG_Exam.zip.html «موفق باشید.»
  13. اون آیدی رو خود سرور تعین میکنه. تو جاوا اسکریپت راحت میشه یک آبجکت رو تبدیل به رشته جیسون کرد و خواص و ویژگی های اونو دید شما هم با سوکت همین کار رو یبار انجام بدید و ببینید چه چیزهایی بهتون میده تا با همون ها کار کنید «موفق باشد.»
  14. آره میشه هم به هر نفر تکی پیام فرستاد هم میشه Room ساخت و به یه گروه که عضو اون هستند پیام فرستاد هم میشه Namespace ساخت و به هرکی با اون وارد شده پیام رو فرستاد برای ارسال پیام به هر نفر یا باید سوکت اون طرف رو در متغیری قرار داد یا باید id اون رو ذخیره کنی. var users=[]; ... socket.on('add_user', (username) => { users.push(socket); .... البته در اینجا سوکت تنها رو ذخیره کردم بهتره users آبجکت باشه تا اطلاعاتی مثل نام - آی دی و ... رو هم داشته باشی «موفق باشید.»
  15. »»»»»»»»»»»»» / ««««««««««««« از این کوچیکتر نشد توضیح بدماما اگه توضیح بیشتر می خوای همین اسلشو بگیر تا بررسی به این سایت https://socket.io/docs/rooms-and-namespaces/ «موفق باشید.» در ضمن یادم رفت بگم که فرقش با websocket افزودن امکانات بیشتر به اونه
  16. سلام بر شما کدهایی که اشاره کردید واسه سمت کاربر هستش اگر کدهای سمت سرور رو نگاهی بندازید .اتفاقا رو همین موضوع با متغیر زیر var numUsers = 0; فکری براش شده. البته روش های دیگه ای هم هست. این ساده ترین روشه.(شمام سعی کن سخت نگیری و روش ساده رو استفاده کنی. برای پروژه های معمولی بهینه سازی زیاد مطرح نیس) برای نام هم اسم طرف رو میشه به صورت خاصیتی از شی سوکت مربوط به هر کاربر قرار داد. socket.username="value..."; اگر پروژه بازی طراحی می کنی سرور بازی نود-مانگو دارم.کد سمت سرورش هم برای بازی های مختلف قابل استفاده است. «موفق باشید.»
  17. در سورس نود نوشته شده که به تمامی کاربران متصل شده پیام ارسالی یک کاربر ارسال بشه که این خودش میشه چت روم از نظر شما البته برای محدود کردن کاربر هم میشه با دو خط اینو مشخص کرد. در هر حال این آموزش پایه ای کار با نود و سوکت هستش و در صورت استقبال کاربران آموزش های بیشتر بخصوص کار با پایگاه های داده و ... با مثال های جامع تر ساخته خواهد شد «موفق باشید.»
  18. آموزش تصویری این کتابخونه در فروشگاه قرار داده شد. «موفق باشید.»
  19. خیر این دوره در واقع آموزش irSocket.io بوده در دوره قبلی که چندین سال پیش بود از XMPP استفاده می کرد. این دوره سورس Node.js رو می تونین در سرور آپلود کنید و یا مانند مثال لوکال استفاده کنید. «موفق باشید.»
  20. استفاده گسترده از کتابخانه های کش تصاویر مانند گلاید و یا پیکاسو بشدت مرسوم شده. کش کردن اصوات و ویدئوها هم می تواند بسیار کاربردی و مناسب باشد. این کتابخانه دارای قابلیت های زیر می باشد. کش کردن مدیا ها همزمان با پخش آن پخش موارد دانلود شده در هنگام آفلاین سازگار با انواع پلیرها دانلود جریان استریم قبل از پخش و می توانید موارد زیر را برای آن تنظیم نمایید. تعیین حداکثر تعداد فایل کش شده تعیین حداکثر حجم مجاز برای کش شدن تعیین حداکثر زمان قابل کش شدن تعیین تعداد دانلود همزمان و دارای توابع زیر می باشد. addUrl isCached getCacheFile pauseDownload resumeDownload addDownloadListener resumeAll isRunning stopAll pauseAll stop cleanCacheDir
  21. در زمینه بازی های ایزومتریک خود بیسیک یه مثال داره که من قبلا در انجمن دیده بودم. البته گرافیک آنچنان زیبایی نداشت ولی بنظرم با کتابخونه های خوبی که بیسیک داره این گزینه هم کار پر دردسری نخواهد بود و ارزش داره بجای آموزش زبان های برنامه نویسی دیگه با خود بی فور این بازی ها رو زد و در زمینه بازی های سه بعدی در زمینه گرافیک مطمئن وابستگی بی فور به مایا از انجین ها بیشتر خواهد بود و ناچارید بیشتر وقت در نرم افزار های سه بعدی بگذرونید ولی هر کاری بکنید وابستگی شما به این گونه نرم افزارها در بازی های سه بعدی چه با انجین و چه بدون اون از بین نخواهد رفت اگه بازی سه بعدی رو با بیسیک شروع کنید مطمئنا کد بیشتری در مقایسه با یونیتی و یا انجین های دیگر خواهید داشت. البته نبودن مثال مناسبی در این زمینه و یا آموزش های جامع در این زمینه هم مانع از این شده که کسی این کار رو انجام بده ولی با وجود کاربرای فعال و کتابخونه نویسی که در بی فور وجود داره بنظرم اگر در این زمینه هم کار آغاز بشه مطمئنا بسیاری از کمبود ها به سرعت رفع خواهد شد.
×
×
  • اضافه کردن...