`
rl203rl
  • 浏览: 20766 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Dev C++ 中socket编程

 
阅读更多

Dev C++ 中socket编程
2010年06月07日
  
一直没有用vc++来写程序,嫌太大的同时也嫌麻烦。很喜欢dev c++这个编译器,唯一的缺点就是图像化界面的支持,要配置起来很难。
  在Dev中,写socket程序,大家要有两点注意的:
  1,新建project  是win32 console,然后再project的属性linker里面添加D:/Dev-  Cpp/lib/libws2_32.a这个动态库。
  如果没有,则会出现连接错误。
  2,#include  Winsock2.h  这个头文件就0k。
  这里有两个简单的udp的socket的server和client代码,实现了message的传送的打印。
  ----------------------------------------------------------server.c------------------------------------------------
  #include
  #include
  #include
  int main (int agrc,char*argv[])
  {
  SOCKET socket1;
  WSADATA wsaData;
  int ErrorCode;
  if(WSAStartup(MAKEWORD(2,1),&wsaData))// windows socket dll;
  {
  printf("Winsock initiate failed!!\n");
  WSACleanup();
  return 0;
  }
  printf("Winsock start...\n");
  const char* ip="127.0.0.1";
  struct sockaddr_in server;
  int len = sizeof(server);
  server.sin_family = AF_INET;
  server.sin_port = htons(12345);  //the port need listened
  server.sin_addr.s_addr = inet_addr(ip);
  socket1 = socket(AF_INET,SOCK_DGRAM,0);
  while (1)
  {
  char buffer[1024] = "\0";
  printf("input message\n");
  scanf("%s",buffer);
  //printf("%s",buffer);
  if(strcmp(buffer,"bye")==0)
  {
  printf("exit,bye!!\n");
  Sleep(100);
  closesocket(socket1);
  break;
  }
  if(sendto(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&server,len)!=SOCKET_ERROR)
  {
  printf("sending...");
  Sleep(100);
  if(recvfrom(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&server,&len) != SOCKET_ERROR)
  printf("recevie from server: %s\n",buffer);                                           
  }  
  }
  closesocket(socket1);
  system("pause");
  return 0;
  }
  ----------------------------------------------------client.c---------------------------------------------------
  #include
  #include
  #include
  int main (int agrc,char*argv[])
  {
  SOCKET socket1;
  WSADATA wsaData;
  int ErrorCode;
  if(WSAStartup(MAKEWORD(2,1),&wsaData))// windows socket dll;
  {
  printf("Winsock initiate failed!!\n");
  WSACleanup();
  return 0;
  }
  printf("Winsock start...\n");
  struct sockaddr_in local;
  struct sockaddr_in client;
  int len = sizeof(client);
  local.sin_family = AF_INET;
  local.sin_port = htons(12345);  //the port need listened
  local.sin_addr.s_addr = INADDR_ANY; //localhost
  socket1 = socket(AF_INET,SOCK_DGRAM,0);
  bind(socket1,(struct sockaddr*)&local,sizeof(local));
  while (1)
  {
  char buffer[1024] = "\0";
  printf("waiting message from the clients...\n");
  if(recvfrom(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&client,&len) != SOCKET_ERROR)
  {
  printf("recevie message: [%s]---%s\n",inet_ntoa(client.sin_addr),buffer);
  //send sth to the client
  sendto(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&client,len);
  }                                             
  }
  closesocket(socket1);
  system("pause");
  return 0;
  }
分享到:
评论

相关推荐

    C++_Socket_Dev-C++5.11-source.rar

    下面我们将深入探讨C++中的Socket编程以及如何利用这个资源进行开发。 首先,Socket是操作系统提供的一个接口,用于进程间的网络通信,它使得应用程序能够发送和接收数据。在C++中,我们通常使用低级别的BSD Socket...

    C语言socket网络UDP编程例子源代码DevC++工程

    在C语言中,socket编程主要涉及以下步骤: 1. **创建Socket**:使用`socket()`函数创建一个socket描述符,这是所有网络通信的起点。例如: ```c int socket_desc = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); `...

    C++中Socket网络编程实例详解

    C++中Socket网络编程实例详解 ...基于socket编程,基本上就是以下6个步骤: 1、socket()函数 2、bind()函数 3、listen()、connect()函数 4、accept()函数 5、read()、write()函数等 6、close()函数 下面直接

    Devc++下简单的网络编程

    通过以上步骤,你可以在Devc++环境中实现基本的网络编程,无论是构建简单的聊天应用还是复杂的文件传输系统。记住,网络编程需要对并发处理、多线程和异常处理有一定的理解,这些都是进一步提升技能的关键。不断实践...

    使用C_C++实现Socket聊天程序

    Socket编程是计算机网络通信中的重要概念,特别是在C++这样的编程语言中,它是构建客户端-服务器应用的基础。本主题主要关注如何使用C++实现基于Socket的聊天程序,涉及到TCP和UDP两种传输协议。 首先,让我们理解...

    udp -socket编程

    2. **地址结构体**:在UDP编程中,使用`sockaddr_in`结构体(对于IPv4)或`sockaddr_in6`(对于IPv6)来存储IP地址和端口号。例如,`struct sockaddr_in server_addr;`并填充相应的地址和端口信息。 3. **绑定**:...

    socket编程demo.zip

    在DEVC++中,你可以直接运行和调试socket编程的C代码,查看网络通信的过程。 这个压缩包中的样例代码应该包含了以上步骤的实现,通过阅读和运行这些代码,你可以深入理解socket编程的基本流程和原理。注意,样例...

    C++ Socket 控制台聊天工具源码

    C++ Socket编程是网络通信的核心技术之一,它允许程序通过网络发送和接收数据。在这个项目中,我们看到一个基于C++的控制台聊天工具,它巧妙地利用了Socket接口和多线程技术来实现服务器端(Server)和客户端...

    纯c++聊天服务器及客户端.zip

    虽然C++11之后的标准引入了许多新特性,如lambda表达式、右值引用等,但此项目仍能很好地展示C++在网络编程中的基础应用。 最后,压缩包内的源码和预编译的exe程序为学习和分析提供了便利。通过对源码的阅读和调试...

    Socket源码及其教程

    3. `DEVc++ 编译配置.PNG`:这是一个关于如何在DEV C++集成开发环境中配置和编译Socket项目的图像指南,对于初学者来说非常有用,可以帮助他们快速设置好编程环境。 4. `第13章:Socket编程及其应用实例.ppt.ppt`:...

    一个C++编写的聊天室

    C++中的`<sys/socket.h>`和`<netinet/in.h>`库提供了创建、绑定和监听套接字的接口。 2. **多线程**:为了同时处理多个客户端连接,服务器可能采用多线程技术。每个新连接都会启动一个新的线程来处理,确保并发性。...

    端口扫描程序C++

    1. **Socket编程**:在C++中,使用`<sys/socket.h>`头文件和相关的函数(如`socket()`, `connect()`, `bind()`, `listen()`, `accept()`等)来创建和管理套接字,这是进行网络通信的基础。 2. **并发处理**:为了...

    用C++实现局域网聊天系统

    其中包含了"文件传输"功能,这涉及到网络编程中的数据包封装、发送和接收,以及文件操作的知识。"聊天"功能则涉及到了客户端-服务器架构,可能使用了TCP或UDP协议进行消息传递,并且需要处理并发连接和数据同步问题...

    ldcsaa-HP-Socket-dev.zip

    C++ socket通讯模块,简单,全面,值得学习.

    HP-Socket下载

    HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件、客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口...

    C++实现代理服务

    9. **开发环境**:`proxy.dev`可能是开发环境的相关文件,例如Dev-C++是一个集成开发环境,用于编写和编译C++代码。 这个项目展示了如何使用C++实现一个功能齐全的代理服务器,涵盖了网络编程、多线程、数据结构等...

    HP-Socket-dev.zip

    Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言...

    C++版Android实时投屏软件系统源码,安卓手机投屏软件源码,无需root权限

    USB通信通常需要实现Android的USB主机模式API,而TCP/IP则涉及到网络编程,包括socket编程和数据包的封装与解析。 4. **屏幕捕获技术**: 实时投屏的核心在于获取手机屏幕的每一帧画面。Android提供了...

    HP-Socket v5.7.1.rar

    HP-Socket是一款广泛应用于网络通信开发的库,尤其在C、C++、Delphi和E语言的编程中。v5.7.1是该库在2019年12月22日发布的一个更新版本,它提供了最新的功能和优化,以适应不断变化的网络环境需求。 首先,TCP...

Global site tag (gtag.js) - Google Analytics