基于C语言的Linux环境下socket编程

news/2024/7/4 15:47:02

一 需求分析

柏克莱套接字,又称为BSD 套接字是一种应用程序接口,用于网际插座与Unix域套接字,包括了一个用C语言写成的应用程序开发库,主要用于实现进程间通讯,在计算机网络通讯方面被广泛使用。

使用Berkeley套接字的系统有很多,本系统是在Ubuntu下用C语言进行socket编程。

二 程序设计

2.1 系统流程设计

如下图所示:

2.2 数据结构设计

socket编程问题中涉及的数据结构包括 套接口地址结等。

为了实现这些数据结构,用C语言定义变量如下:

  1. structsockaddr_in {
  2. sa_family_t sin_family;
  3. in_port_t sin_port;
  4. struct in_addr sin_addr;
  5. };

三 程序实现

3.1 TCP通信流程

如下图所示:

点击此处下载文档和源码


http://www.niftyadmin.cn/n/3102305.html

相关文章

Windows下使用标准Shell接口遍历文件和文件夹

Windows下使用标准Shell接口遍历文件和文件夹(1) 在Windows中我们经常需要遍历一个文件夹或者遍历一个磁盘。本文介绍如何使用标准的Shell接口进行遍历。在介绍过程中会逐步的实现一个类似FileZilla的TreeViewListView的界面。我最近为psftp做界面的时候简单了解了一下这方面的…

基于Qt和OpenCV实现彩色图和灰度图的转换

一、实验目的与要求 1.1 目的 熟悉Qt可视化开发,理解C的面向对象思想 熟悉Qt和Opencv开发环境搭建 了解Qt消息机制 初步理解Opencv的用法 学会使用c异常处理 1.2 要求 使用Qt编写一程序,点击按钮从电脑目录选择jpg图片,显示在界面上 再…

VC++中如何判断当前用户是否具有管理员权限

代码一: BOOL CRSysInfo::IsUserAdminPrivilege(const CString & strUserName,BOOL & bAdminPrivilege) { bAdminPrivilege FALSE; PSID pSid NULL; DWORD cbSid 0; LPTSTR bufDomain NULL; …

linux下载html并查看代码 curl使用

linux下载html并查看代码 curl使用 linux下载html并查看代码 curl -L http://www.baidu.com posted on 2019-07-15 02:21 ysbl 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/ysbl/p/11186687.html

基于Python实现的论坛帖子情感分析

一、课程项目 Scuinfo文本分类分析 二、项目类容 爬取川大匿名社区SCUinfo在一段时间内的帖子,对其进行情感分类分析,包括情绪分类(积极,消极),帖子内容关联分析等。 三、个人工作完成报告 3.1 工作概…

MAC地址格式

随机配置一个mac地址,发现有的会报出Cannot assign requested address。 错误码是EADDRNOTAVAIL。 检查不是组播地址也不是全0地址。 组播地址就是第一个字节最低位为1,问题就是在这里。 发现第一个字节最低位为1时该函数就会返回0,driver中的…

分别基于WIN32 API界面编程和Cocos2d-x实现的两个版本FlappyBird游戏

1 开发背景 游戏程序设计涉及了学科中的各个方面,鉴于目的在于学习与进步,本游戏《Flappy Bird 》采用了两个不同的开发方式来开发本款游戏,一类直接采用win32底层API来实现,另一类采用当前火热的cocos2d-x游戏引擎来开发本游戏。…