20140920

1、基于TCP的网络应用程序编写(孙鑫540)

服务器端的程序流程如下:

1、加载套接字库、套接字库的版本协商(WSAStartup函数)

2、创建本地套接字(socket(地址族,套接字类型,自动选择协议))

3、绑定套接字到某个IP地址和端口(bind(要绑定的套接字,IP地址和端口,长度))

4、将已经建立的套接字设为监听模式(listen(套接字,可监听的人数)),准备接受客户请求

5、一旦客户请求到来,接受连接请求,返回一个新的对应于此次连接的套接字(返回新的套接字  accept(服务器端套接字,客户端IP地址和端口,长度))

6、用新的套接字和客户端通信(send/recv).

7、返回,等待另一个客户请求

8、关闭套接字

客户端的程序流程:(不需要绑定bind)

1、创建客户机端的的套接字

2、向服务器端发送连接请求(connect(客户端的套接字,服务器端的IP和端口,长度))

3、和服务器进行通信(send/recv)

4、关闭套接字

时间: 2024-10-12 13:37:10

20140920的相关文章

20140920百度笔试题一道之二维矩阵查找

题目: 有这样一个二维矩阵A[N][N],满足j < k时, 1)a[i][j] < a[i][k]; 2)a[j][i] < a[k][i](其实就数据从左上角到右下角纵横方向上都递减),给定一个数target,如何快速搜索是否在这个矩阵中,是的话输出二维坐标,否则输出Null:(不妨假设数据不重复) 比如  12  34  56  78  90  96 13  35  57  79  91  97 14  36  58  80  93  98 15  37  59  81  94  

20140920百度笔试题---实现static

题目: 实现一个stack,要求要有min函数实现,该实现复杂度要求O(1). 要求是要有stack的基本功能,同时加一个能获取最小值的函数,实现复杂度度要求O(1).一开始的想法就是在stack类中维护一个最小值min,每次插入一个值就判断是否比当前最小值还小,是的话就替代最小值,然后再pop栈顶元素时,重新计算最小值(需要遍历).这种方法很容易想到,但是明显效率很低,因为每次pop操作的时候需要O(n)复杂度来求最小值.所以应该找更优化的方法.先看我的实现代码: class stack_z

解题报告

题目: 兔子的烦恼(二) 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=317 题目大意: 在一座山上有n个山洞(每个洞从0~n-1分别编号),这山上有一只兔子躲在山洞里,有一只狼,从编号为0的山洞开始入洞,每隔m-1个洞,再次入洞抓兔子,现在兔子想知道是否有能避免这场灾难的山洞? 例如:m=2 and n=6, 狼将要进入的山洞号为:0,2,4,可避难的山洞为:1,3,5; 解题思路: 对于n与m的最大公约数的倍数,经过多次循环狼都

如何从Zabbix数据库中获取监控数据

做过Zabbix的同学都知道,Zabbix通过专用的Agent或者SNMP收集相关的监控数据,然后存储到数据库里面实时在前台展示.Zabbix监控数据主要分为以下两类: 历史数据:history相关表,从history_uint表里面可以查询到设备监控项目的最大,最小和平均值,即存储监控数据的原始数据. 趋势数据:trends相关表,趋势数据是经过Zabbix计算的数据,数据是从history_uint里面汇总的,从trends_uint可以查看到监控数据每小时最大,最小和平均值流量. Zabb

[Jira] Jira4系列、Jira6系列破解实战

序言: JIRA 是目前比较流行的基于Java架构的管理系统,由于Atlassian公司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他的产品要高得多,而且易用性也好一些.同时,开源则是其另一特色,在用户购买其软件的同时,也就将源代码也购置进来,方便做二次开发. 但是免费版本只有30天的试用期,所以不得不涉及的就是如何破解. 1,Linux6.3.6版本破解授权 安装请参考:http://blog.csdn.net/mchdba/article/details/394418

Mybatis入门详解

这几天学习Mybatis框架 , 发现有很多地方不是很明白, 查了很多资料, 今天有空做个总结 , 记录一下自己学习中遇到的问题 , 以及解决方法,下面开始: 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github. Mybatis是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.和hibe

iOS多线程 NSThread/GCD/NSOperationQueue

http://www.cnblogs.com/kenshincui/p/3983982.html iOS开发系列--并行开发其实很容易 2014-09-20 23:34 by KenshinCui, 9738 阅读, 19 评论, 收藏,  编辑 --多线程开发 概览 大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算.可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行.但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按顺序逐个执行.改变这种

iOS开发集锦

来源:http://blog.csdn.net/column/details/zhangao4iosobjc.html?page=1#42916713 博客专栏>移动开发专栏>iOS开发集锦 分享到:新浪微博腾讯微博iOS开发集锦 在iOS开发中,所解决的实际问题 收藏 订阅 最新更新文章 [移动开发] iOS 7.iOS 8屏幕适配 在iOS 8中,[UIScreen bounds] .[UIScreen applicationFrame] .Status bar.Keyboard这些fra

用 ipcs 管理oracle unix 共享内存

UNIX and Linux Shared Memory and Oracle The UNIX and LINUX operating systems allocate memory based on an interprocess communication model (IPC) to manage memory segments for Oracle database environments. To obtain details on shared memory for UNIX an