云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > socket编程实验报告

socket编程实验报告

  • 62 次阅读
  • 3 次下载
  • 2025/6/1 6:33:32

图2 UDPserver

图3 UDPClient

1.2.2 方案2:Windows主机(client)和Linux虚拟机(server)之间的进程通信

方案2实现方案

利用Vmware station的Linux虚拟机与Windows本机之间的局域网进行进程间通信,Linux虚拟机作为server,Windows本机作为client。除了Windows使用winsock函数库之外,实现方案与方案1类似,但要注意client端初始化的server地址虽然与方案1相同,但此时已不再是本机地址,而是局域网中Linux虚拟机的IP地址,相当于模拟了不同机器间的进程通信。

方案2实验结果

server和client通信截图

图4 server

图5 client

2 基于TCP的Socket编程

2.1 实验原理:基于TCP协议的面向C/S的工作流程

在server端,server首先启动,调用socket( )创建套接字;然后调用bind( ) 绑定server的地址(IP+port);再调用listen( )让server做好侦听准备,并规定好请求队列长度,然后server进入阻塞状态,等待client的连接请求;最后通过accept( )来接收连接请求,并获得client的地址。当accpet接收到一个client发来的connet请求时,将生成一个新的socket,用于传输数据。

在client端,client在创建套接字并指定client的socket地址,然后就调用connect( )和

server建立连接。一旦连接建立成功,client和server之间就可以通过调用recv和send来接收和发送数据。一旦数据传输结束,server和client通过调用close( )来关闭套接字。

原理图如图6。

图6

2.2 实现方案

? server端:

首先调用socket函数创建一个Socket,然后调用bind函数将其与本机地址以及一个本地端口号绑定,然后调用listen在相应的socket上监听client,当accpet接收到一个client发来的connet请求时,将生成一个新的socket,用于传输数据。Recv( )接收到一个client端的消息后,server从标准输入设备中取得一行字符串,调用send()发送给client端。 ? client端:

首先调用socket函数创建一个Socket,初始化server地址及端口号,然后调用connet请求连接监听server。通过server端accept函数生成的新socket,调用send函数向server端发送从标准输入设备中取得的字符串,然后用recv接收server端发来的字符串。最后用close()关闭该数据传输socket和监听socket。 源代码见附录。

搜索更多关于: socket编程实验报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

图2 UDPserver 图3 UDPClient 1.2.2 方案2:Windows主机(client)和Linux虚拟机(server)之间的进程通信 方案2实现方案 利用Vmware station的Linux虚拟机与Windows本机之间的局域网进行进程间通信,Linux虚拟机作为server,Windows本机作为client。除了Windows使用winsock函数库之外,实现方案与方案1类似,但要注意client端初始化的server地址虽然与方案1相同,但此时已不再是本机地址,而是局域网中Linux虚拟机的IP地址,相当于模拟了不同机器间的进程通信。 方案2实验结果 server和client通信截图 图4 server

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com