Linux下C++ UDP Socket例子

這里我們給出了linuxC++的socket代碼如下:

  #include <iostream>

  #include <stdio.h>

  #include <sys/socket.h>

  #include <unistd.h>

  #include <sys/types.h>

  #include <netinet/in.h>

  #include <stdlib.h>

  #include <time.h>

  #include <string.h>

  #include <stdlib.h>

  using namespace std;

  int main (int argc, char *argv[])

  {

  cout << "Hello world!" << endl;

  int localSocket,remoteSocket;

  struct sockaddr_in? localAddr,remoteAddr;

  localSocket = socket(AF_INET, SOCK_DGRAM, 0);

  bzero(&localAddr, sizeof(localAddr));

  localAddr.sin_family = AF_INET;

  localAddr.sin_port = htons(53);

  localAddr.sin_addr.s_addr = INADDR_ANY;

  cout << "socket returned : " << localSocket << endl;

  int result = bind(localSocket, (struct sockaddr *)&localAddr, sizeof(localAddr));

  cout << "bind returned : " << result << endl;

  while(1)

  {

  char buffer[1024];

  socklen_t remoteAddrLength = sizeof(remoteAddr);

result = recvfrom(localSocket, &buffer, sizeof(buffer), 0, (struct sockaddr *)&remoteAddr, &remoteAddrLength);

  cout << "received UDP data." << endl;

  //構建一個char[]緩沖區,包含要發送的數據,在這里可以自己定義要發送的數據。

  char sendBuff[512];

  memset(sendBuff, 0, sizeof(sendBuff));

  sendto(localSocket, &sendBuff, sizeof(sendBuff),0, (struct sockaddr *)&remoteAddr ,remoteAddrLength);

  }

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254810.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254810.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254810.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用ES6的Promise完美解決回調地獄

相信經常使用ajax的前端小伙伴&#xff0c;都會遇到這樣的困境&#xff1a;一個接口的參數會需要使用另一個接口獲取。 年輕的前端可能會用同步去解決&#xff08;笑~&#xff09;&#xff0c;因為我也這么干過&#xff0c;但是極度影響性能和用戶體驗。 正常的前端會把接口寫在…

halcon file_exists 檢查文件是否存在

目錄file_exists&#xff08;算子&#xff09;描述參數file_exists&#xff08;算子&#xff09; file_exists - 檢查文件是否存在。 file_exists&#xff08;:: FileName&#xff1a;FileExists&#xff09; 描述 運算符file_exists檢查指示的文件是否已存在。 如果是這種…

頂級數據庫行會Percona阿里全面解析下一代云數據庫技術

摘要&#xff1a; 幾年前&#xff0c;數據庫管理系統的企業市場似乎還如同銅墻鐵壁&#xff0c;除了老牌廠商外&#xff0c;其他廠商休想打進來。隨著移動互聯、物聯網技術的發展&#xff0c;多終端應用的時代悄然而至。結構化與非結構化數據的爆發&#xff0c;推動人類社會進入…

怎樣推斷兩個日期在一周內

怎樣推斷兩個日期在一周內。首先&#xff0c;須要搞清楚一周內究竟是什么含義。國內一般是以周一作為每周的第一天&#xff0c;而西方普遍以周日作為每周的第一天。 下面&#xff0c;我們以西方的標準來處理這個問題。 常見的日期結構&#xff1a; struct DateTime { int year;…

TCP/UDP 網絡編程實例

TCP服務器&#xff1a;TCP_Server.c#include<stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <netdb.h> #include <sys/types.h> #include <sys/stat.h> #include <netinet/in.h> #in…

MFC 雙擊控件 提示重載函數已存在

&#xfeff;&#xfeff;VS2013 界面雙擊按鈕控件&#xff0c;提示重載函數已存在&#xff0c;一般情況下&#xff0c;雙擊控件都是可以跳到代碼處的&#xff0c;為什么現在不能了&#xff1f; 這涉及到VS2013的自動生成問題 。 原因&#xff1a;雙擊控件跳到代碼處時&#x…

PHP常用函數總結

數學函數1.abs(): 求絕對值$abs abs(-4.2); //4.2 數字絕對值數字2.ceil(): 進一法取整echo ceil(9.999); // 10 浮點數進一取整3.floor(): 舍去法取整echo floor(9.999); // 9 浮點數直接舍去小數部分4.fmod(): 浮點數取余5.pow(): 返回數的n次方echo pow(-1, 20); // 1 基礎…

C#指定窗口顯示位置的方法

小哥哥小姐姐覺得有用點個贊唄&#xff01; C#指定窗口顯示位置的方法 1.使用StartPosition MainForm mainform; mainformnew MainForm (); dlgCtrl.StartPosition FormStartPosition.Manual;下面是FormStartPosition里邊的定義與解釋 // 指定窗體的初始位置。public …

OpenFileDialog對話框Filter屬性

OpenFileDialog對話框的Filter屬性說明&#xff1a; 首先說明一個示例&#xff0c;分析一下Filter屬性的構成&#xff1a;“ Excel文件|*.xls ”&#xff0c;前面的“Excel文件”成為標簽&#xff0c;是一個可讀的字符串&#xff0c;可以自定定義&#xff0c;“|*.xls”是篩選器…

c++中的::符

&#xfeff;&#xfeff;::是域運算符&#xff0c;一個用法是&#xff0c;如果在局部有一個變量n&#xff0c;還有一個全局變量n&#xff0c;即兩個同名&#xff0c;你要想訪問全局的就要寫::n,寫n就是局部變量.另外一個就是控制命名空間&#xff0c;例如C中的cin和cout屬于st…

x264_param_default

void x264_param_default( x264_param_t *param ) { /* 開辟內存空間*/ memset( param, 0, sizeof( x264_param_t ) ); /* CPU自動檢測 */ param->cpu x264_cpu_detect(); param->i_threads X264_THREADS_AUTO; /* 并行編碼線程為0 */ param->b_determini…

MySQL基礎原創筆記(一)

對表的增刪改操作&#xff1a; 創建表&#xff1a; create table student ( id int primary key auto_increment, name varchar(10) character set utf8 not null, sex char(2) default ‘M’, constraint fk_student_score foreign key(id) references score(id)…

C# 修改項目文件夾名稱完全版

目錄步驟1、打開項目&#xff0c;修改文件名稱2、更改命名空間名稱3、在解決方案中用txt1000替換所有test5004、使用記事本打開項目文件&#xff08;.sln文件&#xff09;修改路徑5、更改項目文件夾名稱6、刪除之前的殘留文件7、大功告成&#xff01;&#xff01;&#xff01;&…

js中遍歷注冊事件時索引怎么獲取

注意&#xff1a;這種寫法&#xff0c;是有問題的。注冊事件是在頁面加載完畢以后就完成了&#xff0c;但此時并沒有觸發事件。事件觸發是由用戶在頁面上點擊時才會觸發&#xff0c;所以說當用戶點擊時&#xff0c;才會執行事件處理函數&#xff0c;那么此時的i已經變成了4&…

spring 優點

spring 的優點&#xff1f;1.降低了組件之間的耦合性 &#xff0c;實現了軟件各層之間的解耦 2.可以使用容易提供的眾多服務&#xff0c;如事務管理&#xff0c;消息服務等 3.容器提供單例模式支持 4.容器提供了AOP技術&#xff0c;利用它很容易實現如權限攔截&#xff0c;運行…

模式對話框與非模式對話框的區別

&#xfeff;&#xfeff;模式對話框就是不處理它就沒法處理父窗口,而非模式對話框就是不用先處理此對話框也可以處理父窗口.例子:在桌面上右擊我的電腦,選擇屬性,彈出系統屬性窗口,點擊下面的技術支持,彈出技術支持信息,現在再對系統屬性窗口進行操作就操作不了,這種叫做模式對…

FFMpeg框架代碼閱讀

簡介FFmpeg是一個集錄制、轉換、音/視頻編碼解碼功能為一體的完整的開源解決方案。FFmpeg的開發是基于Linux操作系統&#xff0c;但是可以在大多數操作系統中編譯和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多種編碼&#xff0c;AVI、MPEG、OGG、Matroska、ASF等90…

C#DotNetBar TabControl將水平標簽設置成豎直

小哥哥小姐姐覺得有用點個贊唄&#xff01; 首先選中整個TabControl控件 更改屬性&#xff1a; 完成

WCF調試異常信息:ServiceHost 僅支持類服務類型

“/CommonHelpServices”應用程序中的server錯誤。ServiceHost 僅支持類服務類型。說明: 運行當前 Web 請求期間&#xff0c;出現未經處理的異常。請檢查堆棧跟蹤信息&#xff0c;以了解有關該錯誤以及代碼中導致錯誤的出處的具體信息。異常具體信息: System.ArgumentException…

使用 Drone 構建 Coding 項目

2019獨角獸企業重金招聘Python工程師標準>>> 使用 Drone 構建 Coding 項目 Drone 是一個輕量級的持續集成工具。它具備許多現代持續集成工具的特性&#xff1a;輕巧&#xff08;Docker 鏡像不到 10M&#xff09;、部署方便&#xff08;docker-compose 一鍵部署&…