18,356
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <winsock2.h>
#define MAX_SIZE 64000
#define CONNECT_NUM 5
#pragma comment(lib,"WS2_32.lib")
int main()
{
WSADATA wsd;
char sendBuff[MAX_SIZE+1];
char buff[MAX_SIZE+1];
int connectCount = 0;
strcpy(sendBuff,"OK!");
if (WSAStartup(MAKEWORD(1,1),&wsd) != 0)
{
printf("failed! WL! \n");
return 1;
}
SOCKET sListen = socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN local;
local.sin_family = AF_INET;
local.sin_port = htons(6000);
local.sin_addr.s_addr = inet_addr("192.168.1.5");
bind(sListen,(SOCKADDR *)&local,sizeof(local));
int nRecvBuf=64*1024;
setsockopt(sListen,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));
int nSendBuf=64*1024;
setsockopt(sListen,SOL_SOCKET,SO_SNDBUF,(const char*)&nSendBuf,sizeof(int));
int count = 0;
SOCKADDR_IN client;
int iAddrSize = sizeof(client);
memset(&client,0,sizeof(client));
SOCKET sL = socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN local2;
local2.sin_family = AF_INET;
local2.sin_port = htons(6500);
local2.sin_addr.s_addr = inet_addr("192.168.1.5");
bind(sL,(SOCKADDR *)&local2,sizeof(local));
while(true)
{
int ret = recvfrom(sL,buff,MAX_SIZE,0,(SOCKADDR *)&client,&iAddrSize);
printf("count: %d ,%d \n",count++,ret);
}
system("pause");
return 0;
}
#include <stdio.h>
#include <iostream.h>
#include <WINSOCK2.H>
#define MAX_SIZE 1000
#define DEFAULT_MSG "I am a good man!"
#define DWCOUNT 100
#pragma comment(lib,"WS2_32")
int main()
{
WSADATA wsd;
SOCKET sClient;
char buff[MAX_SIZE+1];
char revBuff[MAX_SIZE];
int ret,i;
SOCKADDR_IN server;
WSAStartup(MAKEWORD(1,1),&wsd);
strcpy(buff,DEFAULT_MSG);
sClient = socket(AF_INET,SOCK_DGRAM,0);
server.sin_family = AF_INET;
server.sin_port = htons(6000);
server.sin_addr.s_addr = inet_addr("192.168.1.5");
int nRecvBuf=64*1024; //接收缓冲区设置为64k
setsockopt(sClient,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));
int nSendBuf=64*1024; //发送缓冲区设置为64K
setsockopt(sClient,SOL_SOCKET,SO_SNDBUF,(const char*)&nSendBuf,sizeof(int));
int w = sendto(sClient,"connect",strlen("connect"),0,(SOCKADDR *)&server,sizeof(SOCKADDR_IN));
server.sin_port = htons(6500);
connect(sClient,(SOCKADDR *)&server,sizeof(SOCKADDR_IN));
for (i = 0; i < DWCOUNT; i++)
{
sprintf(buff,"%d\n",i);
printf("%s\n",buff);
send(sClient,buff,MAX_SIZE,0);
}
closesocket(sClient);
WSACleanup();
system("pause");
return 0;
}
//服务器
#include <stdio.h>
#include <winsock2.h>
#define MAX_SIZE 64000
#define CONNECT_NUM 5
#pragma comment(lib,"WS2_32.lib")
int main()
{
WSADATA wsd;
char sendBuff[MAX_SIZE+1];
char buff[MAX_SIZE+1];
int connectCount = 0;
strcpy(sendBuff,"OK!");
if (WSAStartup(MAKEWORD(1,1),&wsd) != 0)
{
printf("failed! WL! \n");
return 1;
}
SOCKET sListen = socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN local;
local.sin_family = AF_INET;
local.sin_port = htons(6000);
local.sin_addr.s_addr = inet_addr("192.168.1.5");
bind(sListen,(SOCKADDR *)&local,sizeof(local));
int nRecvBuf=64*1024;
setsockopt(sListen,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));
int nSendBuf=64*1024;
setsockopt(sListen,SOL_SOCKET,SO_SNDBUF,(const char*)&nSendBuf,sizeof(int));
int count = 0;
SOCKADDR_IN client;
int iAddrSize = sizeof(client);
memset(&client,0,sizeof(client));
SOCKET sL = socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN local2;
local2.sin_family = AF_INET;
local2.sin_port = htons(6500);
local2.sin_addr.s_addr = inet_addr("192.168.1.5");
bind(sL,(SOCKADDR *)&local2,sizeof(local));
while(true)
{
int ret = recvfrom(sL,buff,MAX_SIZE,0,(SOCKADDR *)&client,&iAddrSize);
printf("count: %d ,%d \n",count++,ret);
}
system("pause");
return 0;
}
//客户端
#include <stdio.h>
#include <iostream.h>
#include <WINSOCK2.H>
#define MAX_SIZE 1000
#define DEFAULT_MSG "I am a good man!"
#define DWCOUNT 100
#pragma comment(lib,"WS2_32")
int main()
{
WSADATA wsd;
SOCKET sClient;
char buff[MAX_SIZE+1];
char revBuff[MAX_SIZE];
int ret,i;
SOCKADDR_IN server;
WSAStartup(MAKEWORD(1,1),&wsd);
strcpy(buff,DEFAULT_MSG);
sClient = socket(AF_INET,SOCK_DGRAM,0);
server.sin_family = AF_INET;
server.sin_port = htons(6000);
server.sin_addr.s_addr = inet_addr("192.168.1.5");
int nRecvBuf=64*1024; //接收缓冲区设置为64k
setsockopt(sClient,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int));
int nSendBuf=64*1024; //发送缓冲区设置为64K
setsockopt(sClient,SOL_SOCKET,SO_SNDBUF,(const char*)&nSendBuf,sizeof(int));
int w = sendto(sClient,"connect",strlen("connect"),0,(SOCKADDR *)&server,sizeof(SOCKADDR_IN));
server.sin_port = htons(6500);
connect(sClient,(SOCKADDR *)&server,sizeof(SOCKADDR_IN));
for (i = 0; i < DWCOUNT; i++)
{
sprintf(buff,"%d\n",i);
printf("%s\n",buff);
send(sClient,buff,MAX_SIZE,0);
}
closesocket(sClient);
WSACleanup();
system("pause");
return 0;
}