lantionzy

coding
posts - 10, comments - 39, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2009年10月19日

     摘要: 针对示例程序,说明几个用VC++基于TCP/UDP网络编程应注意的几个地方:
1、基于TCP和基于UDP的网络应用程序在发送和接收数据时使用的函数是不一样的:前者使用send和recv,后者使用sendto和recvfrom。
2、由于程序中使用了Winsock库中的函数,这里需要为程序链接相应的.lib文件:ws2_32.lib。
3、我们知道,Windows网络编程至少需要两个头文件:winsock2.h和windows.h,而在WinSock2.0之前还存在一个老版本的winsock.h。正是这三个头文件的包含顺序,导致了问题的出现...
  阅读全文

posted @ 2009-10-19 16:23 lantionzy 阅读(2084) | 评论 (1)编辑 收藏

     摘要: 注:本系列文章适合初学网络编程的读者
对于基于UDP的服务器来说,就是一个客户端,不用建立监听或者说建立连接,直接调用recvfrom函数接收数据。注意,在编写基于UDP的网络程序时,在接收数据时,使用的是recvfrom函数。而前面基于TCP的服务器端程序接收数据时使用的是recv函数。
客户端也可以直接发送数据,这里需要调用sendto函数而不是send函数。

新建一个空的Win32 Console Application类型的工程,在其中添加实现基于UDP的服务器端程序的代码UDPSrv.cpp:  阅读全文

posted @ 2009-10-19 15:23 lantionzy 阅读(1949) | 评论 (3)编辑 收藏

     摘要: 注:本系列文章适合初学网络编程的读者

网络程序的实现可以有很多方式,Windows Socket就是其中一种比较简单的方法。socket是连接应用程序与网络驱动程序的桥梁,socket在应用程序中创建,通过绑定操作与驱动程序建立关系。此后,应用程序送给socket的数据,由socket交给驱动程序向网络上发送出去。计算机从网络上收到与该socket绑定的IP地址和端口号相关的数据后,由驱动程序交给socket,应用程序便可从该socket中提取接收到的数据。
下面通过一个简单的实例来讲述基于TCP的socket编程的通信流程。其中服务器端程序实现代码TCPSrv.cpp如下:  阅读全文

posted @ 2009-10-19 14:36 lantionzy 阅读(2101) | 评论 (2)编辑 收藏