سؤال

أنا أدرس موضوعات برمجة إدارة الملفات منخفضة المستوى من Apple. في قسم NSFileHandle ، يقولون:

لا يقتصر نطاق NSFileHandle على الملفات. يوفر كائن الأساس الوحيد الذي يمكنه القراءة والكتابة إلى قنوات الاتصالات مثل تلك التي تنفذها المقابس والأنابيب والأجهزة.

هذا يبدو رائعًا! حتى أتمكن من التحدث عبر NSFileManager إلى مأخذ توصيل ، ثم ينقل تلك البيانات إلى خادم ويب حيث أتعبث في ملف مباشرة ، عن طريق عن بُعد؟

هل يمكن لأي شخص أن يعطي بعض الأمثلة سهلة فهم ما يمكنني فعله بهذا ،

  • عند التواصل مع "المقبس"؟
  • عند التواصل مع "أنبوب"؟
  • عند التواصل مع "جهاز"؟

ملاحظة: لا أعرف أي شيء عن المقابس والأنابيب والأجهزة. وأنا متأكد من الأجهزة التي لا تعني iPhone نفسه. لست على دراية بأشياء التواصل. لكني أريد أن أتعلم هذه الأشياء !! ربما يمكنك أيضًا تقديم شرح قصير ما هي هذه الأشياء؟

هل كانت مفيدة؟

المحلول

Socket هو أحد الأصول التي تستخدمها للتواصل عبر الشبكة. عندما يريد التطبيق القيام بأي اتصالات شبكية ، فإنه يحتاج إلى الاتصال بمضيف الوجهة. لهذا أ socket يستخدم. في معظم الحالات ، يتم استخدام بروتوكول شبكات TCP/IP. هذا يتطلب منك تحديد عنوان IP أو اسم المضيف أين يمكنك الاتصال ، وما يسمى منفذ TCP - وهذا هو تحديد فريد للخدمة التي تعمل على المضيف الهدف ، على سبيل المثال ، يتم استخدام 80 لـ HTTP. عند إنشاء الاتصال ، يمكنك استخدام Socket بطريقة مماثلة كمقبض للملفات ، فأنت ببساطة تكتب بعض البيانات فيه ، أو تقرأ منها. هذه هي الطريقة التي تعمل بها الشبكات عادة.

Pipe هي منشأة قادمة من UNIX - تذكر أن Mac و iPhone يعتمدون على أنظمة UNIX. إنها (نوع من الغموض ، ولكن لا تزال شعبية) للتواصل بين عمليتين. من وجهة نظر البرمجة ، تشبه مقبض الملفات - عندما يتم توصيل عمليتين عبر الأنابيب ، يمكنهم الكتابة والقراءة في أنابيب للتواصل بين بعضها البعض.

الجهاز هو تجريد ، حسنا ، جهاز. تخيل أنك تريد الوصول المباشر إلى القيادة الصعبة. الطريقة التي يتم بها القيام بها على Systems Unix هي أنك تفتح بعض الملفات الخاصة ، وهو في الواقع ليس ملفًا ، ولكن يتم إنشاؤه على نظام الملفات كـ "جهاز". تحقق من الدليل "/dev/" على جهاز Mac الخاص بك ، ويحتوي على الأجهزة المتاحة. للحصول على قيادة صلبة ، يمكنك العثور على "/dev/disk0" ، للقسم الأول "/dev/disk0s1". تمثل هذه "الأجهزة" برامج تشغيل الأجهزة المحملة في kernel. يمكن أن توفر ملحقات kernel (مثل برامج التشغيل) مثل هذا الجهاز لتمكين الاتصالات مع برامج مساحة المستخدم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top