真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言udp接收函數(shù) c udp編程

實現(xiàn)UDP協(xié)議傳輸?shù)腃語言程序。如被采納,可追加懸賞,盼高手指教,不勝感激?。?!

原型:

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、羅江ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的羅江網(wǎng)站制作公司

int WINAPI icePub_UdpSendAndReceive(char *sendBuffer,int bufferLen,char *strIP,int port,char *receiveBuffer,int timeoutSeconds,int retryCounts)

輸入:sendBuffer 發(fā)送的數(shù)據(jù)

bufferLen sendBuffer的長度

strIP 服務(wù)端地址

port 端口

timeoutSeconds 超時時間,秒

retryCounts 接收失敗重發(fā)次數(shù)

輸出:receiveBuffer 接收的數(shù)據(jù)

返回碼:接收數(shù)據(jù)的長度

char buff[1024],buff2[1024*10];

int receiveLen;

strcpy(buff,"tag:01\r\ncommand:reboot\r\ndata:none\r\n");

typedef int (WINAPI ICEPUB_UDPSENDANDRECEIVE)(char *sendBuffer,int bufferLen,char *strIP,int port,char *receiveBuffer,int timeoutSeconds,int retryCounts);

ICEPUB_UDPSENDANDRECEIVE *icePub_UdpSendAndReceive = 0;

HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");

if(hDLLDrv)

icePub_UdpSendAndReceive=(ICEPUB_UDPSENDANDRECEIVE *)GetProcAddress(hDLLDrv,"icePub_UdpSendAndReceive");

if(icePub_UdpSendAndReceive)

receiveLen=icePub_UdpSendAndReceive(buff,strlen(buff),"192.168.1.111",6000,buff2,15,1);

if(hDLLDrv)

FreeLibrary(hDLLDrv);

AfxMessageBox(buff2);

求助,基于C語言的UDP通信問題發(fā)送、接收端口問題

bind一下就可以

int s = socket(AF_INET, SOCK_DGRAM, 0);

struct sockaddr_in local= {0};

local.sin_family = AF_INET;

local.sin_port = htons(60200);

inet_aton("192.168.3.100", (struct in_addr *)local.sin_addr.s_addr);//換成你的IP地址??

bind(s, (struct sockaddr *)local, sizeof(local));

有沒有windows下c語言實現(xiàn)udp協(xié)議的代碼

Windows下C語言的Socket編程例子(TCP和UDP)

一。??TCP

server端:

復(fù)制代碼

1?#include?"stdafx.h"

2?#include?stdio.h

3?#include?winsock2.h

4?

5?#pragma?comment(lib,"ws2_32.lib")

6?

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

8?{

9?????//初始化WSA

10?????WORD?sockVersion?=?MAKEWORD(2,2);

11?????WSADATA?wsaData;

12?????if(WSAStartup(sockVersion,?wsaData)!=0)

13?????{

14?????????return?0;

15?????}

16?

17?????//創(chuàng)建套接字

18?????SOCKET?slisten?=?socket(AF_INET,?SOCK_STREAM,?IPPROTO_TCP);

19?????if(slisten?==?INVALID_SOCKET)

20?????{

21?????????printf("socket?error?!");

22?????????return?0;

23?????}

24?

25?????//綁定IP和端口

26?????sockaddr_in?sin;

27?????sin.sin_family?=?AF_INET;

28?????sin.sin_port?=?htons(8888);

29?????sin.sin_addr.S_un.S_addr?=?INADDR_ANY;?

30?????if(bind(slisten,?(LPSOCKADDR)sin,?sizeof(sin))?==?SOCKET_ERROR)

31?????{

32?????????printf("bind?error?!");

33?????}

34?

35?????//開始監(jiān)聽

36?????if(listen(slisten,?5)?==?SOCKET_ERROR)

37?????{

38?????????printf("listen?error?!");

39?????????return?0;

40?????}

41?

42?????//循環(huán)接收數(shù)據(jù)

43?????SOCKET?sClient;

44?????sockaddr_in?remoteAddr;

45?????int?nAddrlen?=?sizeof(remoteAddr);

46?????char?revData[255];?

47?????while?(true)

48?????{

49?????????printf("等待連接...\n");

50?????????sClient?=?accept(slisten,?(SOCKADDR?*)remoteAddr,?nAddrlen);

51?????????if(sClient?==?INVALID_SOCKET)

52?????????{

53?????????????printf("accept?error?!");

54?????????????continue;

55?????????}

56?????????printf("接受到一個連接:%s?\r\n",?inet_ntoa(remoteAddr.sin_addr));

57?????????

58?????????//接收數(shù)據(jù)

59?????????int?ret?=?recv(sClient,?revData,?255,?0);????????

60?????????if(ret??0)

61?????????{

62?????????????revData[ret]?=?0x00;

63?????????????printf(revData);

64?????????}

65?

66?????????//發(fā)送數(shù)據(jù)

67?????????char?*?sendData?=?"你好,TCP客戶端!\n";

68?????????send(sClient,?sendData,?strlen(sendData),?0);

69?????????closesocket(sClient);

70?????}

71?????

72?????closesocket(slisten);

73?????WSACleanup();

74?????return?0;

75?}

復(fù)制代碼

client端:

復(fù)制代碼

1?#include?"stdafx.h"

2?#include?WINSOCK2.H

3?#include?STDIO.H

4?

5?#pragma??comment(lib,"ws2_32.lib")

6?

7?

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

9?{

10?????WORD?sockVersion?=?MAKEWORD(2,2);

11?????WSADATA?data;?

12?????if(WSAStartup(sockVersion,?data)?!=?0)

13?????{

14?????????return?0;

15?????}

16?

17?????SOCKET?sclient?=?socket(AF_INET,?SOCK_STREAM,?IPPROTO_TCP);

18?????if(sclient?==?INVALID_SOCKET)

19?????{

20?????????printf("invalid?socket?!");

21?????????return?0;

22?????}

23?

24?????sockaddr_in?serAddr;

25?????serAddr.sin_family?=?AF_INET;

26?????serAddr.sin_port?=?htons(8888);

27?????serAddr.sin_addr.S_un.S_addr?=?inet_addr("127.0.0.1");?

28?????if?(connect(sclient,?(sockaddr?*)serAddr,?sizeof(serAddr))?==?SOCKET_ERROR)

29?????{

30?????????printf("connect?error?!");

31?????????closesocket(sclient);

32?????????return?0;

33?????}

34?????char?*?sendData?=?"你好,TCP服務(wù)端,我是客戶端!\n";

35?????send(sclient,?sendData,?strlen(sendData),?0);

36?

37?????char?recData[255];

38?????int?ret?=?recv(sclient,?recData,?255,?0);

39?????if(ret??0)

40?????{

41?????????recData[ret]?=?0x00;

42?????????printf(recData);

43?????}

44?????closesocket(sclient);

45?????WSACleanup();

46?????return?0;

47?}

復(fù)制代碼

二.?UDP

SERVER?端

復(fù)制代碼

1?#include?"stdafx.h"

2?#include?stdio.h

3?#include?winsock2.h

4?

5?#pragma?comment(lib,?"ws2_32.lib")?

6?

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

8?{

9?????WSADATA?wsaData;

10?????WORD?sockVersion?=?MAKEWORD(2,2);

11?????if(WSAStartup(sockVersion,?wsaData)?!=?0)

12?????{

13?????????return?0;

14?????}

15?

16?????SOCKET?serSocket?=?socket(AF_INET,?SOCK_DGRAM,?IPPROTO_UDP);?

17?????if(serSocket?==?INVALID_SOCKET)

18?????{

19?????????printf("socket?error?!");

20?????????return?0;

21?????}

22?

23?????sockaddr_in?serAddr;

24?????serAddr.sin_family?=?AF_INET;

25?????serAddr.sin_port?=?htons(8888);

26?????serAddr.sin_addr.S_un.S_addr?=?INADDR_ANY;

27?????if(bind(serSocket,?(sockaddr?*)serAddr,?sizeof(serAddr))?==?SOCKET_ERROR)

28?????{

29?????????printf("bind?error?!");

30?????????closesocket(serSocket);

31?????????return?0;

32?????}

33?????

34?????sockaddr_in?remoteAddr;

35?????int?nAddrLen?=?sizeof(remoteAddr);?

36?????while?(true)

37?????{

38?????????char?recvData[255];??

39?????????int?ret?=?recvfrom(serSocket,?recvData,?255,?0,?(sockaddr?*)remoteAddr,?nAddrLen);

40?????????if?(ret??0)

41?????????{

42?????????????recvData[ret]?=?0x00;

43?????????????printf("接受到一個連接:%s?\r\n",?inet_ntoa(remoteAddr.sin_addr));

44?????????????printf(recvData);????????????

45?????????}

46?

47?????????char?*?sendData?=?"一個來自服務(wù)端的UDP數(shù)據(jù)包\n";

48?????????sendto(serSocket,?sendData,?strlen(sendData),?0,?(sockaddr?*)remoteAddr,?nAddrLen);????

49?

50?????}

51?????closesocket(serSocket);?

52?????WSACleanup();

53?????return?0;

54?}

復(fù)制代碼

CLIENT?端

復(fù)制代碼

1?#include?"stdafx.h"

2?#include?stdio.h

3?#include?winsock2.h

4?

5?#pragma?comment(lib,?"ws2_32.lib")?

6?

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

8?{

9?????WORD?socketVersion?=?MAKEWORD(2,2);

10?????WSADATA?wsaData;?

11?????if(WSAStartup(socketVersion,?wsaData)?!=?0)

12?????{

13?????????return?0;

14?????}

15?????SOCKET?sclient?=?socket(AF_INET,?SOCK_DGRAM,?IPPROTO_UDP);

16?????

17?????sockaddr_in?sin;

18?????sin.sin_family?=?AF_INET;

19?????sin.sin_port?=?htons(8888);

20?????sin.sin_addr.S_un.S_addr?=?inet_addr("127.0.0.1");

21?????int?len?=?sizeof(sin);

22?????

23?????char?*?sendData?=?"來自客戶端的數(shù)據(jù)包.\n";

24?????sendto(sclient,?sendData,?strlen(sendData),?0,?(sockaddr?*)sin,?len);

25?

26?????char?recvData[255];?????

27?????int?ret?=?recvfrom(sclient,?recvData,?255,?0,?(sockaddr?*)sin,?len);

28?????if(ret??0)

29?????{

30?????????recvData[ret]?=?0x00;

31?????????printf(recvData);

32?????}

33?

34?????closesocket(sclient);

35?????WSACleanup();

36?????return?0;

37?}


分享標題:C語言udp接收函數(shù) c udp編程
轉(zhuǎn)載來于:http://weahome.cn/article/ddochph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部