网络编程:第一个网络程序

网络编程---基础篇

第一个网络程序

说明:
      《 网络编程》一文将从简单的socket调用到相对复杂的异步网络通信逐步与大家分享网路编程的乐趣,我们将在WINDOWS下使用VS2010为大家展示代码以及程序运行效果。我们不会使用WINDOWS封装的socket工具,这是出于对跨平台的要求,此外我们着重分享如何编写网络程序,对于计算机网络的基础只会在文中零星介绍,如果读者对计算机网络ISO层次划分,以及何为IP,何为TCP等知识缺乏,请参看其他文章了解,后期笔者将适当补充。作者水平有限,如有不足与错误拜请各位读者批评指正,谢谢大家。

1.概述

      下面将介绍如何使用socket建立与远端主机建立TCP连接,远端服务端开启新线程为接入的客户端服务。服务内容为接收客户端发送的字串显示在屏幕,并发送回客户端。客户端则接收用户键入的字串发送至服务端,并接收服务端回送的字串显示在屏幕上。

       需要指出的是,TCP是面向连接的可靠服务,通信方一般可分为客户端与服务端,客户端主动向服务端发起TCP连接请求,服务端接受后TCP连接便建立,双方即可发送数据了。因为服务端是被动接受客户端的TCP连接,因此服务端必须指定一个固定的端口作为监听端口,来接受客户端的连接请求,而客户端端口可以由系统随机分配。具体信息见下。

1.1网络信息配置:

服务端IP:127.0.0.1

端口:4321

客户端IP:127.0.0.1

端口:系统分配

1.2服务器工作流程



1.3客户端工作流程

2程序源码

2.1服务器源码

#include <WinSock2.h>
#include <process.h>
#include <iostream>
#include <Windows.h>
using namespace std;

#pragma comment(lib, "ws2_32.lib")//导入socket库,后期建议在工程属性内添加

typedef unsigned int (__stdcall *WorkThredHandler)(void *lpParam);
/************************************************       
Function:InitWinSocket
Descrip
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值