Welcome Guest Search | Active Topics | Members | Log In | Register

สอบถามครับ Asynchronous กับ Synchronous Client Socket ต่างกันยังไง Options · View
AlZheiMeR
Posted: Sunday, July 06, 2008 2:28:47 AM
Rank: มือฝึกหัด
Groups: Member

Joined: 7/6/2008
Posts: 5
Location: thailand

ขอแบบละเอียดยิบเลยยิ่งดีครับ คือว่า สนใจเรื่อง Network Programming มากมาย แต่อ่อนด้อย ภาษาประกิดไปดูใน MSDN มา งง ไม่รู้เรื่องเลย อยากรู้ว่า เราจะรู้ได้อย่างไรว่า ข้อมูลส่งมาตอนไหน แล้วหมดหรือยัง อยากให้อธิบาย ขึ้นตอนการรับ การส่งข้อมูล ของ Socket TCP ให้ละเอียดอ่ะครับ

PGiZ
Posted: Sunday, July 13, 2008 12:08:07 PM
Rank: มือฝึกหัด
Groups: Member

Joined: 5/8/2008
Posts: 3
Location: Krabi Thailand
เหอะๆ เริ่มต้นเหมือนผมเลย ตอนผมจะเปลี่ยนจาก winsock บน vb6 มาเป็น socket บน .net งงกะเรื่องพักหนึ่งเหมือนกัน เอาเป็นว่าถ้าแปลแบบทื่อๆ เลย Asynchronous เป็นการทำงานที่ไม่ขึ้นกับเวลา ยังไง ลองดู ถ้าเปรียบคุณเป็นเจ้าบ้าน ถ้าเกิดว่าคุณกำลังรอแขกมาบ้านอยู่ แล้วคุณเลือกการทำงานแบบ Synchronous คุณจะต้องนั่งเฝ้าที่หน้าประตูเลย ว่า เอ มีใครมาหรือยังน้า โดยที่คุณไม่มีโอกาสไปทำงานอื่นเลย ถ้าเป็นโปรแกรมคุณต้องเขียนวนลูป เช๊กตลอดเวลาเลย หรือไม่งั้นก็แยก Thread เอาเอง แต่ถ้าเป็นการทำงานแบบ Asynchronous คุณไม่จำเป็นต้องนั่งเฝ้าอยู่ตลอดเวลา คุณก็แค่คอยฟังเสียงเคาะประตูบ้าน จะเห็นว่าเราสามารถทำงานอื่นไปได้ด้วย ในขณะเดียวกันหูก็คอยฟังเสียงแขกมาบ้าน พอได้ยินคุณก็วางงานที่ทำแล้วออกไปต้อนรับ จะเห็นว่า แบบหลังค่อนข้างมีประสิทธิภาพกว่า แล้วมันเกี่ยวยังไงกับ Socket ถ้าลองเปลี่ยนเหตุการณ์ข้างบนจากเจ้าบ้านเป็น server จากแขกเป็นไคลเอนต์ มันก็คือการรอรับ Accept หรือการเชื่อมต่อจากไคลเอนต์นั่นเอง Asynchronouse Method บน Socket มักจะขึ้นต้นด้วย Begin และจบด้วย End เช่น BeginAccept และ EndAccept ยังไงต้องลองดู MSDN อีกที ส่วนขั้นตอนการรับ-ส่งข้อมูลแบบ tcp มีเยอะแยะทางอินเตอร์เน๊ต ไม่ขออธิบาย เพราะถ้าคุณจะเขียนโปรแกรมประเภทนี้ ต้องมีพื้นฐานด้าน network มาบ้าง
digitake
Posted: Monday, July 14, 2008 12:49:24 PM

Rank: มือมืด
Groups: Member

Joined: 3/21/2008
Posts: 53
Location: Whenever you code,you've reached my places.

ตาม rep #1 นั้นถูกต้องแล้วครับ เห็นภาพชัดเจน

อย่างไรก็ตามคุณจำเป็นต้องมีพื้นฐานด้าน Asynchronous programming
ทดลองศึกษาเรื่องการทำ Async call หรือ IAsyncResult pattern
ดูครับ ทำความรู้จักกับ Process thread แล้วก็ธรรมชาติของมันซะก่อนคับ



Love = λygh·g(y(y)(h,g), y(y)(h,g))

Code:
Love(Love)(I, U) = λgh·g(Love(Love)(h,g), Love(Love)(h,g))(I, U)
       = λh·I(Love(Love)(h,I), Love(Love)(h,I))(U)
       = I(Love(Love)(U,I), Love(Love)(U,I))
       = I(Love(Love)(U,I))

Love Combinator!!!!

Users browsing this topic
Guest


Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Main Forum RSS : RSS

YAFVision Theme Created by Jaben Cargman (Tiny Gecko)
Powered by Yet Another Forum.net version 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.

Sponsored by