客户端和服务端的编程实现.doc

客户端和服务端的编程实现.doc

ID:50838259

大小:195.50 KB

页数:10页

时间:2020-03-15

客户端和服务端的编程实现.doc_第1页
客户端和服务端的编程实现.doc_第2页
客户端和服务端的编程实现.doc_第3页
客户端和服务端的编程实现.doc_第4页
客户端和服务端的编程实现.doc_第5页
资源描述:

《客户端和服务端的编程实现.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、学生学号王体方10109281王雁飞10109282实验课成绩杭州电子科技大学学生实验报告书实验课程名称《计算机网络》实验七开课学院软件工程学院指导老师姓名谢红标学生姓名王体方王雁飞学生专业班级软件2班2011—2012学年第二学期实验课程名称:计算机网络实验项目名称客户和服务器通信编程实现实验成绩实验者王体方王雁飞专业班级软件2班实验日期2012年5月18日第一部分:实验分析与设计一、实验内容描述(问题域描述)1、实验目的1.1理解套接字(socket)通信的基本原理和机制1.2理解进程间通信的机制。2、实验要求分别编写客服端和服务器端代码,建立客户端与服务器端之间正确的so

2、cket连结(语言自选,附源代码)二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等)1.实验原理socket的英文原义是“孔”或“插座”。在这里作为4BDSUNIX的进程通信机制,取后一种意义。socket非常类似于电话插座。以一个国家级电话网为例。电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(

3、假如对方不在同一区内,还要拨对方区号,相当于给出网络地址)。对方假如在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接收信号的过程,相当于向socket发送数据和从socket接收数据。通话结束后,一方挂起电话机相当于关闭socket,撤消连接。一个完整的socket有一个本地唯一的socket号,由操作系统分配。常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针

4、对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。Socket建立为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄。socket函数原型为:intsocket(intdomain,inttype,intprotocol);domain指明所使用的协议族,通常为PF_INET,表示互联网协议族(TCP/IP协议族);type参数指定socket的类型:SOCK_STREAM或SOCK_DGRAM,Socket接口还定义了原始Socket(SOCK_RAW),允许程序使用低层协议;pr

5、otocol通常赋值"0"。Socket()调用返回一个整型socket描述符,你可以在后面的调用使用它。Socket描述符是一个指向内部数据结构的指针,它指向描述符表入口。调用Socket函数时,socket执行体将建立一个Socket,实际上"建立一个Socket"意味着为一个Socket数据结构分配存储空间。Socket执行体为你管理描述符表。两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。Socket数据结构中包含这五种信息。socket在测量软件中的使用也很广泛 2.实验步骤本实验在VS2008下实现,本机

6、ip为169.254.59.194,实验要实现客户端与服务端在8000号端口的通信,具体代码如下:服务端代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Threading;namespac

7、etemp{publicpartialclassForm1:Form{ThreadLisThread;//线程SocketLisSocket;//用于监听SocketnewSocket;//用于通信EndPointpoint;stringstrmes=string.Empty;//用于存放通信的信息publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){//建立连接LisTh

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。