VC環境下window網路程式:UDP Socket程式
最近在學Windows網路程式設計,正好在做UDPsocket的程式,貼上來:
伺服器框架函式:
socket(); bind(); recfrom(); sendto(); closesocket();
客戶機框架函式:
socket(); recfrom(); sendto(); closesocket();
二、具體程式碼如下所示,歡迎大家一起交流
首先要開啟伺服器進行監聽,所以伺服器server程式碼如下:
// udpse.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <winsock2.h>
#pragma comment(lib,"WS2_32.lib")
#include <iostream>
int main(int argc, char* argv[])
{
WSADATA wsaData;
//初始化socket
WSAStartup(MAKEWORD(2,2),&wsaData);
//建立socket
SOCKET recvSocket;
recvSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
//將socket進行繫結
sockaddr_in reAddr;
reAddr.sin_family=AF_INET;
reAddr.sin_port=htons(5678);
reAddr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
bind(recvSocket,(sockaddr *)&reAddr,sizeof(reAddr));
//呼叫recvfrom函式繫結在socket接收到客戶機資料
//獲取當前系統時間 sDataTime,
SYSTEMTIME st;
GetLocalTime(&st);
//char sDataTime[30];
printf("當前系統伺服器時間:%4d-%2d-%2d %2d:%2d:%2d\n",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond);
char recvBuf[1024];
int bufLen=1024;
//兩個暫時沒用的,客戶機屬性
sockaddr_in FromclientAddr;
int FromclientSize=sizeof(FromclientAddr);
int lbuf=recvfrom(recvSocket,recvBuf,bufLen,0,(SOCKADDR *)&FromclientAddr,&FromclientSize);
recvBuf[lbuf]='\0';
printf("客戶機IP地址是:%s,埠是:%d\n,發來的資料內容是:%s\n",inet_ntoa(FromclientAddr.sin_addr),FromclientAddr.sin_port,recvBuf);
printf("接收完成,關閉socket\n");
closesocket(recvSocket);
//釋放資源並退出
WSACleanup();
return 0;
}
三,客戶機傳送資料,程式碼如下:
// udp.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <winsock2.h>
#pragma comment(lib,"WS2_32.lib")
int main(int argc, char* argv[])
{
WSADATA wsaData;
//初始化socket
WSAStartup(MAKEWORD(2,2),&wsaData);
//套接字初始化
SOCKET sendSocket;
sendSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
//設定即將連伺服器地址
sockaddr_in seAddr;
seAddr.sin_family=AF_INET;
seAddr.sin_port=htons(5678);
seAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//;htonl(INADDR_ANY)
//初始化
char sendBuf[1024]="hello wang shu qing";
int bufLen=1024;
//向伺服器傳送資料
printf("請輸入傳送資料給伺服器:\n");
scanf("%s",sendBuf);
bufLen=strlen(sendBuf);
//繫結
sendto(sendSocket,sendBuf,bufLen,0,(SOCKADDR *)&seAddr,sizeof(seAddr));
//傳送完成,關閉socket
printf("傳送完成,關閉socket\n");
closesocket(sendSocket);
//釋放資源並退出
WSACleanup();
return 0;
}
四,效果圖:
相關文章
- Linux環境下的Socket程式設計Linux程式設計
- Linux Socket C語言網路程式設計:UDP SocketLinuxC語言程式設計UDP
- VC++程式設計環境下的除錯步驟C++程式設計除錯
- window環境下testlink環境搭建(xammp)
- 基於UDP協議的Socket網路程式設計UDP協議程式設計
- UDP協議網路Socket程式設計(java實現C/S通訊案例)UDP協議程式設計Java
- Socket 程式設計 (網路篇)程式設計
- Flutter開發環境Window下搭建Flutter開發環境
- window下使用nw.js開發桌面應用程式環境的搭建JS
- Linux環境下的網路程式設計Linux程式設計
- Python網路Socket程式設計Python程式設計
- socket udpUDP
- VC++ 6.0下OpenGL開發環境配置C++開發環境
- window環境下安裝和切換兩個python環境Python
- Window離線環境下如何安裝pyhanlpHanLP
- 通過 Socket 實現 UDP 程式設計 入門UDP程式設計
- .Net環境下的程式破解(3)
- VC環境下整型轉換為字串型(2)字串
- java Socket UdpJavaUDP
- socket程式設計之DEV C++配置winpcap開發環境並編寫網路嗅探器sniffer程式設計devC++PCA開發環境
- 在C++ Builder中用socket api來寫網路通訊程式(同時支援TCP和UDP協議)C++UIAPITCPUDP協議
- 網路程式設計-UDP程式設計UDP
- flutter開篇之window7下環境搭建Flutter
- 網際網路環境下服務提供的模式模式
- AIX環境下監控程式指令碼AI指令碼
- .Net環境的下的程式破解(2)
- Oracle VM:虛擬環境下的Oracle VC認證Oracle
- [APUE] 程式環境
- 在C++ Builder中用socket api來寫網路通訊程式(同時支援TCP和UDP協議) (轉)C++UIAPITCPUDP協議
- python網路-Socket之TCP程式設計(26)PythonTCP程式設計
- java Socket Udp聊天JavaUDP
- vc++生成程式不需要.net執行環境的可以執行exe程式的方法C++
- VC++ 環境 使用開發GTK+程式的中文顯示問題C++
- PHP入門-Window 下利用Nginx+PHP 搭建環境PHPNginx
- 《Linux網路開發必學教程》6_Window 下的網路程式設計Linux程式設計
- 【Windows socket+IP+UDP+TCP】網路基礎WindowsUDPTCP
- 【網路程式設計】Tcp/Udp程式設計TCPUDP
- Windows環境下提升程式的許可權Windows