1. 程式人生 > >Windows網路程式設計之面向非連線的Socket程式設計

Windows網路程式設計之面向非連線的Socket程式設計

byzxy,Java/C++程式設計交流群:168424095

面向非連線的Socket通訊是基於UDP的。

UDPUser Datagram Protocol的簡稱,中文名是使用者資料包協議,是 OSI 參考模型中一種無連線的傳輸層協議,提供面向事務的簡單不可靠資訊傳送服務

伺服器和客戶端程序實現面向非連線的Socket通訊的過程及呼叫的函式

sendto()函式,功能傳送資料,函式原型:

int sendto(

SOCKET s, //指定一個Socket控制代碼

const char* buf,//包含要傳輸資料的緩衝區

int len,//緩衝區資料的長度,單位位元組

int flags,//指定呼叫函式的方式

const struct sockaddr *to,//指定接收資料的目標地址

int tolen//指定地址長度

);

成功,返回傳送資料的位元組數,否則返回SOCKET_ERROR

recvfrom()函式,功能接收資料,函式原型

int recvfrom (

SOCKET s, //指定一個Socket控制代碼

char* buf,//包含要接收資料的緩衝區

int len,//緩衝區資料的長度,單位位元組

int flags,//指定呼叫函式的方式

struct sockaddr *from,//指定傳送資料的主機地址

int fromlen//指定地址長度

);

成功,返回接收資料的位元組數,否則返回SOCKET_ERROR

例子:客戶端向伺服器傳送字串,伺服器接收客戶端發過來的字串。

原始碼下載:

相關推薦

Windows網路程式設計面向連線Socket程式設計

byzxy,Java/C++程式設計交流群:168424095 面向非連線的Socket通訊是基於UDP的。 UDP是User Datagram Protocol的簡稱,中文名是使用者資料包協議,

洞悉C++網路程式設計tcp/ip和socket api

原文地址:https://blog.csdn.net/libaineu2004/article/details/79020403 TCP(Transmission Control Protocol) 傳輸控制協議 三次握手 TCP是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次

Android網路程式設計TCP/IP的Socket、ServerSocket模式

TCP/IP是一種協議,一種面向連線的、可靠的協議。Socket僅僅是針對TCP、UDP網路介面來封裝,不涉及上層協議。TCP與UDP的傳輸特性不一樣,適用於不同型別的應用層協議,TCP有連線,延時較長,能保證服務質量。UDP無連線,應用程式需要進行資料分包、延時短,效率高

網路通訊檢測遠端連線是否斷開連線

判斷對方是否斷開連線: 一、方法層面的實現:   1,使用輸入流的read方法:     輸入流的read(byte[] ,int ,int) 方法,表示從當前的通道中讀取資料,具體讀取到的資料有返回的int值決定;這裡的返回值和丟擲的異常很重要,如果丟擲IOException異常,很明顯連線已經斷開;   

阻塞socket程式設計

一. 阻塞、非阻塞、非同步 阻塞:阻塞呼叫是指呼叫結果返回之前,當前執行緒會被掛起。該程序被標記為睡眠狀態並被排程出去。函式只有在得到結果之後才會返回。當socket工作在阻塞模式的時候, 如果沒有資料的情況下呼叫該函式,則當前執行緒就會被掛起,直到有資料為止。 非阻塞:非阻塞和阻塞的概念相

二十四、併發程式設計簡易資料連線

public class MyDataSource { private LinkedList<Connection> pool = new LinkedList(); //連結串列放連線池用 private static final int INIT_CONNECTION

Socket程式設計實現瀏覽器與Socket的互動

我們只瀏覽器發起一個http請求,後臺對應服務會接收並且處理該請求。 那麼它是怎麼實現的呢?也就是底層原理是什麼? 我們都知道http協議的底層是基於TCP/IP協議的, 而TCP/IP協議的實現形式就是Socket。 所以理論上,後臺寫一個Socket服務端是可以和瀏覽器互動的, 而

socket程式設計入門(1---連線socket,傳送資料 出現的錯誤)

1,socket通訊最基本的需要兩個檔案,一個是服務端檔案,另外一個是客戶端檔案。 2,客戶端檔案client.php : 服務端檔案server.php : /* +——————————- * @socket通訊整個過程 +————

黑馬程式設計師 java程式設計面向物件學習筆記

---------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! ----------------------面向物件:以前學習過C語言,C語言是面向過程,裡面功能的實現都是由呼叫一個個的函式來完成的,而java是面向物件的程式語

Java程式設計面向GC

      Java程式設計師在編碼過程中通常不需要考慮記憶體問題,JVM經過高度優化的GC機制大部分情況下都能夠很好地處理堆(Heap)的清理問題。以至於許多Java程式設計師認為,我只需要關心何時建立物件,而回收物件,就交給GC來做吧!甚至有人說,如果在程式設計過程中頻

網路程式設計基於TCP 的Sockets程式設計

百度百科言:多個TCP連線或多個應用程序程序可能需要通過同一個 TCP協議埠傳輸資料。為了區別不同的應用程式程序和連線,許多計算機作業系統為應用程式與TCP/IP協議互動提供了稱為套接字(Socket)的介面。簡單的說套接字就是一種支援TCP/IP的網路通訊的基本操作單元,

黑馬程式設計師 java程式設計面向物件學習筆記總結

---------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! ---------------------- 繼承: 在java中,在我們要對一個事物進行封裝時,發現有某一個類的特性和要封裝的這個 類的特性相同,而我們可以在這個

NIO實現阻塞Socket程式設計

前言: 基於阿里面試時,面試官問我,我做的聊天專案裡,考慮過效能沒有,是怎麼解決程式卡頓現象的,針對客戶端,當在傳送檔案時,如果卡頓,怎麼辦,同時想聊天,當時程式我是基於多執行緒實現的,在客戶端裡,聊天時啟動一個執行緒,傳送檔案時,啟動另一個執行緒,所以

TCP阻塞socket程式設計

網路通訊程式的同步方式指的是傳送方不等接收方響應,便接著發下個數據包的通訊方式;而非同步指傳送方發出資料後,等收到接收方發回的響應,才發下一個數據包的通訊方式。 阻塞套接字是指執行此套接字的網路呼叫時,直到成功才返回,否則一直阻塞在此網路呼叫上,比如呼叫recv()函式讀取網

深入淺出VC++串列埠程式設計DOS的串列埠程式設計

/* Name : Sample Comm's Program - 1024 Byte Buffer - buff1024.c *//* Written By : Craig Peacock <[email protected]> */#include <dos.h>#inc

淺談網路程式設計Socket

前言 此文只是簡單概述Socket,Java程式設計的使用方法,還請移步Java 網路IO程式設計 Socket Socket是用來連線網路,進行傳輸資料的工具,Scoket大致分為兩種,TCP和UDP TCP: 服務端:建立Socket->繫結ip和埠號->接聽連線-&

python下socket程式設計TCP連線狀態

1. 引言 python作為一門膠水語言,可以在各個領域上作為快速開發的工具,大大提高開發者處理事務的效率。在網際網路行業中,不管是對網路伺服器的開發,還是對網路客戶端,例如爬蟲的開發中,都會涉及到底層的執行原理,那就是socket程式設計,那麼今天,我們將對python下的socke

Java學習筆記--------網路程式設計Socket通訊----聊天室實現

Socket通訊 網路上的兩個程式通過一個雙向的通訊連線實現資料的交換,這個連線的一端稱為一個socket。基於TCP/IP協議,建立穩定的點對點的通訊。 特點:實時、快速、安全性高、佔用系統資源多、效率低。 通常也稱作"套接字",套接字是一種程序間的資料交換機制。這些程序既可以在同一機

day25 網路程式設計socket

1.  為什麼要學習socket?     socket就是網路通訊的工具,任何一門語言都有socket,他不是任何一個語言的專有名詞,而是大家通過自己的程式與其他電腦進行網路通訊的時候都用它。 2.  客戶端,服務架構     客戶端英文名稱:Client(使用服務端的服務),服務

基於TCP(面向連線)的socket程式設計

基於TCP的socket程式設計是採用的流式套接字(SOCK_STREAM) 伺服器端程式設計的步驟: 1:載入套接字型檔,建立套接字(WSAStartup()/socket()); 2:繫結套接字到一個IP地址和一個埠上(bind()); 3:將套接字設定為監聽模式等待