windows下socket开发udp程序

原创 2012年03月28日 20:32:40

以下代码均在VC6.0上调试通过。

服务器端代码:

//UDP server
//listen port 9102
//receive string and display it

//Visual C++ 6.0

#include <stdio.h>
#include <winsock2.h>

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

#define BUFLEN 1024

int main(void)
{
	SOCKET soc;
	SOCKADDR_IN addr;
	char buf[BUFLEN];
	int len;

    WSADATA wsa;
	WSAStartup(MAKEWORD(1,1),&wsa);	//initial Ws2_32.dll by a process

	memset(&addr, 0, sizeof(addr));

	if((soc = socket(AF_INET,SOCK_DGRAM,0)) <= 0)
	{
		printf("Create socket fail!\n");
		return -1;
	}

	
	addr.sin_family = AF_INET;
	addr.sin_port = htons(9102);
	addr.sin_addr.s_addr = htonl(INADDR_ANY);

	if(bind(soc,(struct sockaddr *)&addr,sizeof(struct sockaddr))!=0)
	{
		printf("Bind fail!\n");
		return -1;
	}


	len = sizeof(addr);
	printf("start listen...\n");
	while(1) {
		recvfrom(soc, buf, BUFLEN, 0,(struct sockaddr*)&addr, &len);
		printf("%s\n",buf);
	}
	
	WSACleanup();                     //关闭
	return 0;
}


客户端代码:

//UDP client
//client send string to server

//Visual C++ 6.0

#include <stdio.h>
#include <winsock2.h>

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

#define BUFLEN 1024

int main(void)
{
	SOCKET soc;
	SOCKADDR_IN addr;
	unsigned char buf[BUFLEN];

    WSADATA wsa;
	WSAStartup(MAKEWORD(2,2),&wsa);	//initial Ws2_32.dll by a process

	memset(&addr, 0, sizeof(addr));


	if((soc = socket(AF_INET,SOCK_DGRAM,0)) <= 0)
	{
		printf("Create socket fail!\n");
		return -1;
	}
	
	addr.sin_family = AF_INET;
	addr.sin_addr.s_addr = inet_addr("127.0.0.1");
	addr.sin_port = htons(9102);
	bind(soc,(struct sockaddr *)&addr,sizeof(addr));

	
	while(1) {
		scanf("%s", buf);
		sendto(soc, buf, strlen(buf)+1, 0, (struct sockaddr *)&addr, sizeof(addr));
	}

	WSACleanup();	//clean up Ws2_32.dll
	return 0;
}


相关文章推荐

windows Socket编程之UDP的服务端和客户端

上一篇讲了TCP的服务端和客户端,本篇文章来介绍一下UDP的服务端和客户端。 相比TCP来说,UDP相对比较简单,刚开始的时候,和TCP一样都需要先进行网络环境的初始化,即调用WSAStartup函数...
  • Timmiy
  • Timmiy
  • 2016年07月24日 22:45
  • 4580

UDP windows下socket编程实例

转载自:http://blog.chinaunix.net/uid-20340259-id-1964920.html 因为要测试一个GPRS的UDP上传功能,于是在Windows下写了这个UDP测试...

【windows socket+UDP服务器客户端】

Windows Socket+TCP服务器客户端      Winsock是 Windows下套接字标准。          1.UDP socket编程:          UDP(用户数据报协议)...

Windows下基于UDP的可靠传输协议实现

前言:在公司实习了三个月,有一个月都是在做基于UDP协议的应用层软件开发,目的是要用在流媒体服务器上,传输高清视频图像帧。整个开发过程,从0到最后完成了几百兆以上的大文件可靠传输。UDP网络传输协议部...

windows环境下用c++实现socket编程

一、什么是Socket socket即套接字,用于描述地址和端口,是一个通信链的句柄。应用程序通过socket向网络发出请求或者回应。 sockets(套接字)编程有三种,流式套接字(SOCK_S...

Windows下基于原始套接字的回射客户端的源码

SocketFrame.cpp: #include "StdAfx.h" #include "SocketFrame.h" #include "ws2tcpip.h" #include "mstcp...

基于socket的TCP、UDP 编程(附带源代码)

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。 使用套接字通信的...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

浅谈Windows Socket程序设计(TCP和UDP)

一、前言       很多的教材和网络上的教程都将Windows Socket程序设计分为基于TCP(面向连接)和基于UDP(面向数据报)的Socket编程。笔者认为,分开讲述对于Socket的理解...

Windows socket UDP开发实例

关于Windows socket UDP的开发范例
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:windows下socket开发udp程序
举报原因:
原因补充:

(最多只允许输入30个字)