หน้าแรก
 การบ้าน
  C/C++ new
  Java new
 Sourcecode.TV
  Android
  Blackberry
  C/C++
  Java
  Linux
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  DoodeeHosting
  รับออกแบบ พัฒนาเว็บไซต์
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามมาได้ตลอดนะครับ...
2015-07-29 13:35:58
  ถ้าผมต้องการเว็บที่พัฒนาด้วย HTML5 ...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒนาด้วย HTML5 ...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะคับ
งานเล...

2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลองศึกษาเองได...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก่อนได้นะคับ...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต่อได้ครับ 08...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรือบริษัท
ส...

2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  ถ้าเขียน php ก็ใช้ curl ส่...
2017-04-20 01:04:20
  เขียนโค้ดไม่เป็น เอาโค้ดไป ...
2017-03-27 12:50:54
  คือสงสัยว่าทำไม ต้องอัพเดทด...
2017-03-27 12:37:20
  ทดสอบการตอบ...
2017-02-22 13:10:24
  ลองอีกวิธีเขียน recursive f...
2017-02-14 13:11:03
  อยากได้ โค้ดระบบห้องสมุดมาก...
2017-01-30 11:45:28
  ทำ for-loop ซ้อนกัน
โดย...

2017-01-28 16:00:12
  เดาว่าใช้ Stack เข้ามาช่วย...
2017-01-28 15:57:09
  ยืมเสร็จแล้ว ก็เอามาคืนด้วย...
2016-10-27 14:56:42
  ยืมโค้ดหน่อยครับ...
2016-10-27 14:49:44
  Homework comment
  ทำเอง งง เอง กะลังทำใหม่ค่ะ ^^...
2017-04-18 18:40:46
  ทำเอง งง เอง กะลังทำใหม่ค่ะ ^^...
2017-04-18 18:37:54
  ประเด็นแรก flowchart มันไม่มีภ...
2017-04-18 17:43:33
  อยากได้ flowchart ค่ะ เป็นภาษา...
2017-04-18 16:25:29
  kungking คำถามคืออะไรครับ ?...
2017-03-18 23:28:36
  จงเขียนโปรแกรมแสดงผลรวมของตัวเ...
2017-03-06 10:56:25
  ก็โค้ดทำงานคล้ายๆแบบนี้หละ แต่...
2016-09-06 01:00:12
  ผมอยากทราบว่าโค้ดนับถอยหลังเป็...
2016-09-05 09:31:27
  ได้โค้ดแล้ว ลองศึกษาแล้วเขียนผ...
2016-04-22 00:47:49
  ขอแผนผังของโปรแกรมนับตัวอักษรภ...
2016-04-21 19:24:55
  Article comment
  ครับ คุณ "ติด" แล้วลองนึกต่อว่...
2016-06-18 15:21:09
  vs2008 c# ครับ ขอบคุณครับ...
2016-06-17 14:39:30
  ผมใช้ vs c# ทำตามทุขั้นตอนแต่ต...
2016-06-17 14:37:44
  ต้องวิเคราะห์ครับ "ว่าจริงๆ ส่...
2016-03-12 23:36:05
  ผมส่งข้อความในวง LAN ได้เฉพาะค...
2016-03-12 18:25:42
  โปรแกรม Terminal บน Mac ก็เป็น...
2016-02-16 11:02:01
  โปรแกรม Terminal คืออะไรหรอคะ...
2016-02-16 05:58:21
  ไปตั้ง โครงการไว้เลยครับ ที่
2016-01-25 13:29:55
  ด่วน!!! ต้องการคนเขียน App โดย...
2016-01-25 10:56:34
  ผมได้ทำตามคำแนะนำจนสิ้นสุดแล้ว...
2016-01-20 23:30:25
  9Mcode comment
  อยากได้...
2014-02-21 08:52:19

Link Exchange

อัตราค่าโฆษณา
Statistics of Sourcecode in Thailand
 
Client/Server โดยใช้ UDP ผ่านทาง MS Winsock (อ่าน 32,759)
ศุภกิจ ทองดี (9'M) บทความโดย: นาย ศุภกิจ ทองดี (9'M)
e-mail: webmaster@sourcecode.in.th
mobile: 09-5009-5351
Line: suppakit.thongdee
Youtube: 9Mcode
Fanpage: Sourcecode.in.th
   
: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 6,202 ครั้ง)

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
Freelanceรับพัฒนาโปรแกรม และเว็บ โดย 9'M 
UDP คือ อะไร ??? คำถามนี้บางท่านอาจจะงง กันบ้าง ถ้าหากไม่เคยได้ศึกษาเรื่องของ Protocol ฉะนั้น ผมขอเกริ่นสั้นๆ เพื่อสร้างความเข้าใจกันก่อนนะครับ

ก่อนอื่นคงต้องเริ่มจาก Protocol คืออะไรกันก่อนนะครับ Protocol ถ้าพูดให้ง่ายก็คือ ข้อตกลงของการรับส่งข้อมูล ว่าจะต้องส่งข้อมูลอะไร และส่งอย่างไร มีรูปแบบยังไง และจะตอบกลับในลักษณะใด ยกตัวอย่างก็เช่น HTTP (Hypertext Transfer Protocol ) ซึ่งเป็น โปรโตคอลของเว็บนะครับ เมื่อผมพิมพ์ www.sourcecode.in.th เพื่อขอดูข้อมูลเว็บที่ผมต้องการ โดยผ่านทาง Web Browser (ยี่ห้อต่างๆ เช่น IE, Nescap) ตัวของ Web Browser ก็จะติดต่อกับ Web Server แล้วทำการส่งข้อความไปขอข้อมูล ซึ่งข้อความนี้จะต้องเป็นรูปแบบที่ Web Server เข้าใจ ซึ่งรูปแบบ ดังกล่าว ก็คือ Protocol นั้นเอง ดังตัวอย่างด้านล่างจะเป็นข้อความที่ส่งไปร้องขอข้อมูลที่ผมดักมาได้ครับ

GET / HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*
Accept-Language: th
Accept-Encoding: gzip, deflate
If-Modified-Since: Thu, 06 Jun 2002 17:44:49 GMT
If-None-Match: "1934e-c8-3cff9f91"
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows 98)
Host: www.sourcecode.in.th
Connection: keep-alive

ต่อมาก็คงเป็นเรื่องที่เกี่ยวกับ UDP ซึ่งย่อมาจาก User Datagram Protocol , UDP เป็น Protocol ที่อยู่ในชั้นของ Transport Layer ซึ่งในชั้นนี้จะมีอยู่ 2 Protocol คือ TCP และ UDP ผมจะขอกล่าวเฉพาะ UDP นะครับ

UDP เป็นการส่งข้อมูลที่ไม่มีการยืนยันการรับส่งข้อมูล คือผู้ส่งไม่สามารถรู้ได้ว่าข้อมูลได้ถึงผู้รับแล้วหรือไม่ มาถึงตรงนี้ คงเกิดคำถามขึ้นมากันบ้างแล้วนะครับ UDP มันมีข้อเสียอย่างนี้ แล้วจะใช้ได้เร้อ.... ผมต้องบอกเลย ว่าได้ฮะ ใช้ได้แน่ๆ แต่เราจะต้องเขียนการตรวจสอบข้อมูลเอาเอง เช่น ถ้าผมส่งข้อมูลไป ถ้าฝั่งที่รับข้อมูลได้รับข้อมูลแล้ว ก็ให้ตอบกลับมาให้ผม ผมก็ทราบแล้วว่าข้อมูลไปถึง แต่ถ้าไม่มีการตอบกลับภายในระยะเวลาที่ผมกำหนด ก็ให้แจ้งว่าผู้รับไม่ได้รับข้อความ

ข้อดีของ UDP ที่เห็นกันได้ชัดเจนคือ มันจะส่งข้อมูลได้เร็วกว่า แบบ TCP และจะไม่มีการสร้าง Connection เกิดขึ้น ทำให้ข้อมูลที่วิ่งในเครือข่ายมีน้อยลงด้วย

อ๊ะ เกริ่นมาพอสมควรกันแล้วนะครับ งานนี้มาเริ่มสร้างโปรแกรม Client / Server เพื่อแสดงการรับส่งข้อมูลโดยใช้ UDP กันเลยครับ

1. เปิดโปรแกรม Microsoft Visual Basic ทำการเลือกสร้างโปรเจ็คแบบ Standard EXE

2. ทำการเพิ่ม คอนโทรล MS Winsock เข้ามาในโปรเจ็ค โดยเลือกที่ Project->Components แล้วทำการคลิกเลือก Microsoft Winsock 6.0 ดังรูป

3.ทำการเลือกคอลโทรลต่างๆ แล้ววางตำแหน่งดังรูป

4.ทำการหนด Property ต่างๆ ดังนี้

Name Property Value
Text1 Text [ว่าง]
Text1 Multiline True
Text2 Text [ว่าง]
Text2 Multiline True
Text3 Text [ว่าง]
Command1 Caption Send
Winsock1 Protocol 1-sckUDPProtocol
Winsock2 Protocol 1-sckUDPProtocol

5. ทำการคัดลอกโค้ดนำไปใส่ในส่วน View Code

Private Sub Command1_Click()
 If Text3.Text <> "" Then
  Winsock2.RemoteHost = Winsock2.LocalIP
  Winsock2.RemotePort = 6543
  Winsock2.SendData Text3.Text
  Text3.Text = ""
 End If
End Sub

Private Sub Form_Load()
 Winsock1.Bind 6543, Winsock1.LocalIP
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str As String
 Winsock1.GetData str
 Text1.Text = Text1.Text & str & Chr(13) & Chr(10)
 
 'send message to Client
 Winsock1.SendData "[received]" & Time
 
End Sub

Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Dim str As String
 Winsock2.GetData str
 Text2.Text = Text2.Text & str & Chr(13) & Chr(10)

End Sub

6. เมื่อเสร็จแล้ว ก็ทดลอง Run โปรแกรมกันเลยครับ ทดลองพิมพ์ข้อความแล้วกด Send ดูนะครับ

อธิบายโปรแกรม
โปรแกรมนี้จะทำงานเป็น Server และ Client ในโปรแกรมดียวกัน แต่จะติดต่อส่งข้อมูลระหว่างกันผ่านทาง MS Winsock Control

การทำงานของโปรแกรมจะเริ่มจากส่วนของ Winsock1 ที่ทำหน้าที่เป็น Server ทำการ Bind เพื่อรอคอยรับข้อมูลจากผู้ส่ง ตรงหมายเลขพอร์ท 6543 และ หมายเลข IP ของเครื่อง Server (Winsock1.LocalIP) และ เมื่อ Server ได้รับข้อมูลที่ส่งมา คือจะเกิด Event Winsock1_DataArrival ขึ้น ผมก็จะรับข้อมูลที่ส่งมาโดยใช้ Methode GetData ของ Winsock เพื่อนำข้อมูลขึ้นมาแสดงที่คอนโทรล Text1

ส่วนการทำงานของฝั่ง Client จะทำการกำหนดชื่อ Host และ หมายเลขพอร์ท ที่เป็นปลายทาง แล้วทำการส่งข้อมูลที่อยู่ในคอนโทรล Text3 ออกไป ตอนนี้ผมอยากให้สังเกตุที่คำสั่งในการกำหนด Host ปลายทาง คือ

Winsock2.RemoteHost = Winsock2.LocalIP

จะเห็นได้ว่าผมกำหนดให้ Winsock2 ทำการส่งข้อมูลที่ LocalIP (ก็คือ ip ของเครื่องตัวเอง) เพื่อเป็นการแสดงบนเครื่องๆนี้ เท่านั้น ***หากต้องการส่งไปยังเครื่องอื่น ที่ Run โปรแกรมนี้เช่นกัน แค่เพียงเปลี่ยนจาก Winsock2LocalIP ไปเป็น หมายเลข IP ของเครื่องที่ต้องการติดต่อ ก็ส่งข้อมูลได้แล้วครับ

ปิดท้าย
จะเห็นได้ว่าโปรแกรมตัวอย่างผมจะแสดงไว้ในหน้าต่างเดียวกันเลย ก็เพื่อลดขั้นตอนในการอธิบายลงครับ เอาเฉพาะแนวทาง ที่คุณจำเป็นจะต้องต่อยอด ด้วยตัวเองครับ หวังว่าตัวอย่างโปรแกรมที่ผมได้นำมาเสนอครั้งนี้ อาจจุดประกาย การสร้างสรรค์โปรแกรม ในตัวคุณขึ้นมาบ้างนะครับ แล้วพบกันใหม่ กับ 9'M :-P

: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 6,202 ครั้ง)
 

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -


49.48.202.209 ความคิดเห็น #5 (จาก IP: 49.48.202.209)
ถ้าvb6 เขียนควบคุมhardware ผ่านอินเตอร์เน็ตละครับ
ขอบคุณคับ
จากคุณ : lee / salee1_@hotmail.com [2013-12-24 22:52:15]

118.173.222.120 ความคิดเห็น #7 (จาก IP: 118.173.222.120)
ก็ต้องเขียนเป็น 2 ส่วนคือส่วนควบคุม hardware และส่วนอินเตอร์เน็ตที่ใช้ในการส่งคำสั่ง ซึ่งต้องออกแบบคำสั่งและการส่งข้อมูลเอาตามความต้องการ
จากคุณ : maddog [2013-12-26 13:35:06]
สอบถาม
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

 
 
สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI)
สายต่อจอ สำหรับเครื่อง macbook pro 2016 (usb-c to HDMI) ความละเอียดระดับ 4K
หัวแปลง Mini DisplayPort to HDMI Adapter หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
หัวแปลง Mini DisplayPort to HDMI Adapter สำหรับเครื่อง macbook air/pro, mac mini
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
สายต่อหูฟัง และชาร์จไฟ สำหรับ iPhone 7 และ 7 Plus
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
หัวแปลงจาก USB-C Type ไปเป็น USB 3.1 สำหรับ MacBook
ไขควงสำหรับเครื่อง Macbook Air/Pro
ไขควง สำหรับแกะเครื่อง Macbook Air/Pro (300บาท)
HDMI เข้า 3 ออก  1 มีรีโมท
HDMI เข้า 3 ออก 1 มีรีโมท (350บาท)
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
9M Blog บอกเล่าเรื่องราว การเขียนโปรแกรมของ นายเอ็ม
บริการ ถ่ายภาพรับปริญญา
OrmSin.com: ขายหนังสืองานฝีมือไทย-ญี่ปุ่น-จีน (country crafts)
อัตราค่าโฆษณา
 
บทความที่เกี่ยวข้อง

บันทึกภาพจาก WebCam

เขียนโปรแกรม visual basic 6 แสดงภาพจาก กล้อง WebCam ของคุณ

การ Ping หมายเลข IP

View Source ของเว็บด้วย Inet (Microsoft Internet Tranfer Control)

การเข้าถึงเอกสาร HTML ผ่านทาง WebBrowser Control

ส่ง Broadcast ข้อมูล ด้วย VB

โปรแกรม Daytime (ตัวอย่างการใช้ Winsock Control)

การใช้งาน Winsock Control

แสดงสถานะการดาวน์โหลดเว็บเพจ
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ
Freelance รับพัฒนาโปรแกรม

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th