E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Socket网络编程
最简单的socket套接字编程(2)–poll()和epoll()
(原文地址) 本文主要介绍了使用poll()和epoll()在UNIX环境下
socket网络编程
的主要步骤,实现 了一个简单的 服务器和客户端代码实例,实现了一个网络服务,该服务接受一个字符串的命令
·
2015-11-13 12:43
socket
Java基础篇
Socket网络编程
中的应用实例
说到java网络通讯章节的内容,刚入门的学员可能会感到比较头疼,应为Socket通信中一定会伴随有IO流的操作,当然对IO流比较熟练的哥们会觉得这是比较好玩的一章,因为一切都在他们的掌握之中,这样操作起来就显得非常得心应手,但是对于IO本来就不是多熟悉的哥们来说就有一定的困难了,在搞清楚IO流操作机制的同时还必须会应用到Socket通信中去,否则会对得到的
·
2015-11-13 09:33
socket
Java之
Socket网络编程
实践
转自:http://my.oschina.net/leejun2005/blog/104955#comments 一、TCP/IP协议 既然是网络编程,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据传输。这里就要使用到TCP/IP协议。 TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成。IP层
·
2015-11-13 09:36
socket
项目总结——深入浅出
socket网络编程
前言: 为什么会有如题的概念呢,我想对于没有主动听说过
socket网络编程
的人来说读到题目可能就已经蒙头了,为了很好的让大家进入场景,首先说一下一个需要用到这点东西的业务需求
·
2015-11-13 08:40
socket
Java网络编程
1.基于TCP的
Socket网络编程
: 服务器:使用ServerSocket(int port)建立一个服务器端套接字,并绑定到制定端口上。
·
2015-11-13 06:33
java网络编程
java UDP网路编程
大家都知道java中的
socket网络编程
,而其采用的协议分别有tcp和udp协议两种. 通常的理解tcp协议类似于打电话,udp类似于发短信.前者是线程安全的,但是效率比较低.后者则刚好相反.
·
2015-11-13 03:31
java
socket网络编程
中的同步,异步,阻塞式,非阻塞式,有何联系与区别?
一、举个打电话的例子: 阻塞 block 是指,你拨通某人的电话,但是此人不在,于是你拿着电话等他回来,其间不能再用电话。同步大概和阻塞差不多。 非阻塞 nonblock 是指,你拨通某人的电话,但是此人不在,于是你挂断电话,待会儿再打。至于到时候
·
2015-11-12 17:48
socket
c# winform
socket网络编程
,点对点传输文件,socket文件传输,监听端口
服务器用来接收文件,不停的监听端口,有发送文件就马上开始接收文件 服务端代码: C#代码 using System; using System.Collections.Generic; using System.ComponentModel; usin
·
2015-11-12 08:59
WinForm
c#实现
Socket网络编程
命名空间: 在网络环境下,我们最感兴趣的两个命名空间是System.Net和 System.Net.Sockets。 System.Net命名空间通常与较高程的操作有关,例如download或upload,试用HTTP和其他协议进行Web请求等等 System.Net.Sockets命名空间所包含的类通常与较低程的操作有关。如果要直接使用Sockets或者 T
·
2015-11-11 08:39
socket
c# winform
socket网络编程
,点对点传输文件,socket文件传输,监听端口
http://www.cnblogs.com/vhtt/ 服务器用来接收文件,不停的监听端口,有发送文件就马上开始接收文件 服务端代码: C#代码 using System; using System.Collections.Generic; using&nbs
·
2015-11-10 23:18
WinForm
windows下的
socket网络编程
windows下的
socket网络编程
windows下的
socket网络编程
clinet.c 客户端 server.c 服务器端 UDP通信的实现 代码如下 已经很久没有在
·
2015-11-08 14:32
windows
【他山之石】Overview of Computer Networks
<Overview of Computer Networks> 是加州大学老师写的一篇网络入门文章,仅有29页,但很全面,既包含网络基础知识,又包含
socket网络编程
,读完之后,可以让人直觉地理解网络的工作原理
·
2015-11-07 14:29
NetWork
Socket网络编程
--Libev库学习(3)
这一小节继续讲解各个观察器(Watcher). 上一小节已经讲解了ev_io(IO可读可写观察器),ev_stat(文件属性变化观察器),ev_signal(信号处理观察器),ev_timer(定时器),ev_periodic(周期任务处理),ev_child(子进程状态变化观察器)。这一小节准备讲ev_fork(创建的进程时的观察器),ev_async(异步调用观察器),ev_clea
·
2015-11-07 14:52
socket
Socket网络编程
--Libev库学习(1)
Socket网络编程
不知不觉已经学了快两个月了。现在是时候找个网络库学学了。搜索了很多关于如何学网络编程的博客和问答。大致都是推荐学一个网络库,至于C++网络库有那么几个,各有各的好处。
·
2015-11-07 14:51
socket
Socket网络编程
--Libev库学习(2)
这一小节讲各个观察器(Watcher) 在libev下面watcher相当于EventHandler这么一个概念,通常里面会绑定fd回调函数以及我们需要关注的事件。 然后一旦触发事件之后会触发我们使用的回调函数,回调函数参数通常有reactor,watcher以及触发的事件。这里不打算重复文档里面的watcher 相关的内容和对应的API,但是对于某些内容的话可能会提到并且附带一些注释。
·
2015-11-07 14:51
socket
Socket网络编程
--简单Web服务器(6)
本来是想实现ssl连接的,但是弄了好久都不成功,就索性不做了,等以后有能力再做了。所以这一小节就是本次的最后一节了。就简单的说几个注意点。 1.加个配置文件 使用单例模式,使用一个类,该类保存一些信息,例如一个配置类的一个属性为PAGE404的字符串,该字符串保存一个文件地址,然后我们的Page_404函数就可以用access判断PAGE404这个字符串对应的文件是否存在,如果
·
2015-11-07 14:50
socket
Socket网络编程
--简单Web服务器(4)
上一小节已经实现了对图片的传输,接下来就是判断文件是否为js,css,png等格式。我们增加一个函数用于判断格式 1 int WebServer::get_filetype(char *type,char *path)//用于判断该url指向文件的后缀 2 { 3 if(strstr(path,".html")) 4 strcpy(
·
2015-11-07 14:48
socket
Socket网络编程
--简单Web服务器(5)
这一小节我们将实现服务器对get和post的请求进行对cgi程序的调用。对于web服务器以前的章节已经实现了对get和post请求的调用接口,接下来给出对应接口的实现。 1 int WebServer::ServerGetFunction(int cli_fd,char *path,char *args) 2 { 3 ServerExecuteCGI(cli_fd,pat
·
2015-11-07 14:48
socket
Socket网络编程
--简单Web服务器(3)
上一小节已经实现了浏览器发送请求,然后服务器给出应答信息,然后浏览器显示出服务器发送过来的网页。一切看起来都是那么的美好。这一小节就准备实现可以根据地址栏url的不同来返回指定的网页。目前还不考虑带参数的问题。 stat函数 #include <sys/stat.h> int stat(const char *restrict pathname,struct st
·
2015-11-07 14:47
socket
Socket网络编程
--简单Web服务器(2)
上一小节通过阅读开源的Web服务器--tinyhttpd。大概知道了一次交互的请求信息和应答信息的具体过程。接下来我就自己简单的实现一个Web服务器。 下面这个程序只是实现一个简单的框架出来。这次先实现能够Accept客户端的请求。 简单创建web服务器 webserver.h 1 #include <iostream> 2 #include <
·
2015-11-07 14:46
socket
Socket网络编程
--网络爬虫(4)
上一小节我们已经实现了获取博客园最近博客的200页里面的用户名,并保存在一个map中。一开始是想通过这个用户名然后构造一个博客地址。然后在这个地址中查找心得用户名,但是后来发现这个的效率不是很高,虽然部分博客会引用别人的博客,也有机率会留有原博客的地址,这样我们可以爬取的到新的用户名。效率是不高。最后我发现博客园的关注和粉丝这个功能用于查找心得用户名很管用。只要该用户在博客园活跃过一段时间就或
·
2015-11-07 14:45
socket
Socket网络编程
--网络爬虫(3)
上一小节我们实现了从博客园的首页获取一些用户的用户名,并保存起来。接下来的这一小节我将对每个用户名构建一个用户的博客主页,然后从这个主页获取所有能获取到的网页,网页的格式现在是http://www.cnblogs.com/yourname/p/xxxxxxxx.html以前是http://www.cnblogs.com/youurname/archive/xxxxxxx.html 我的做
·
2015-11-07 14:44
socket
Socket网络编程
--网络爬虫(1)
我们这个系列准备讲一下--网络爬虫。网络爬虫是搜索引擎系统中十分重要的组成部分,它负责从互联网中搜集网页,采集信息,这些网页信息用于建立索引从而为搜索引擎提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。网络爬虫的基本工作原理: (1)从一个初始URL集合中挑选一个URL,下载该URL对应的页面; (2)解析该页面,从该页面中抽取出其
·
2015-11-07 14:43
socket
Socket网络编程
--网络爬虫(2)
上一小节,我们实现了下载一个网页。接下来的一步就是使用提取有用的信息。如何提取呢?一个比较好用和常见的方法就是使用正则表达式来提取的。想一想我们要做个什么样的网络爬虫好呢?我记得以前好像博客园里面有人写过一个提取博客园用户名的博客。我这次就实现这个好了。 第一步我们要分析博客园一个URL的组成,我们每一个用户对应都有这样的一个主目录http://www.cnblogs.com/XXXXX
·
2015-11-07 14:43
socket
Socket网络编程
--epoll小结
以前使用的用于I/O多路复用为了方便就使用select函数,但select这个函数是有缺陷的。因为它所支持的并发连接数是有限的(一般小于1024),因为用户处理的数组是使用硬编码的。这个最大值为FD_SETSIZE,这是在<sys/select.h>中的一个常量,它说明了最大的描述符数。但是对于大多数应用程序而言,这个数是够用的,而且有可能还是太大的,多数应用程序只使用3~10个描
·
2015-11-07 14:42
socket
Socket网络编程
--小小网盘程序(4)
在这一小节中实现了文件的下载,具体的思路是根据用户的uid和用户提供的文件名filename联合两张表,取得md5唯一标识符,然后操作这个标识符对应的文件发送给客户端。 实现下载的小小网盘程序 client.cpp增加下面这个函数以实现文件的下载。 1 int file_pull(struct Addr addr,struct User user,char *filename
·
2015-11-07 14:41
socket
Socket网络编程
--小小网盘程序(5)
各位好呀!这一小节应该就是这个小小网盘程序的最后一小节了,这一节将实现最后的三个功能,即列出用户在服务器中的文件列表,还有删除用户在服务器中的文件,最后的可以共享文件给好友。 列出用户在服务器中的文件列表 增加一个结构体 1 struct FileList 2 { 3 int cnt; 4 char list[16][128]; 5 }; 为了方
·
2015-11-07 14:41
socket
Socket网络编程
--小小网盘程序(3)
接上一小节,这次增加另外的两张表,用于记录用户是保存那些文件。增加传上来的文件的文件指纹,使用MD5表示。 两张表如下定义: 1 create table files( 2 fid int, 3 filename varchar(64), 4 md5 varchar(64) 5 ); 6 7 create table relations( 8 uid
·
2015-11-07 14:40
socket
Socket网络编程
--小小网盘程序(2)
这一节将不会介绍太多的技术的问题,这节主要是搭建一个小小的框架,为了方便接下来的继续编写扩展程序。本次会在上一小节的基础上加上一个身份验证的功能。 因为网盘程序不像聊天程序,网盘是属于主动向服务器拉取信息,而聊天程序有可能要被动获取信息,所以为了减轻服务器压力,每次要向服务器获取服务就建立一个短连接,而不像聊天程序一样的长连接,微信的公众平台,输入指令获取服务,就是这个样子了。具体看一下
·
2015-11-07 14:39
socket
Socket网络编程
--小小网盘程序(1)
这个系列是准备讲基于Linux Socket进行文件传输。简单的文件传输就是客户端可以上传文件,可以从服务器端下载文件。就这么两个功能如果再加上身份验证,就成了FTP服务器了,如果对用户的操作再加上一些功能(如分享),就可以作为一个最简单的网盘了。想想是不是有点小激动啊。 我这一小节就不讲那么高级的东西,就先了解文件怎么传输,我们以前的聊天程序传输数据都是一次发送就完成本次的发送,因为一
·
2015-11-07 14:38
socket
Socket网络编程
--聊天程序(9)
这一节应该是聊天程序的最后一节了,现在回顾我们的聊天程序,看起来还有很多功能没有实现,但是不管怎么说,都还是不错的。这一节我们将讲多服务器问题(高大上的说法就是负载问题了。)至于聊天程序的文件发送(也即二进制文件发送例如图片)和单点登陆(就是多加一个数组fd_L[],用来记录是否已经登陆过了。),这些问题就不讨论了。 支持多服务器实现负载问题的聊天程序 今天才知道原来我们一直使用的
·
2015-11-07 14:38
socket
Socket网络编程
--聊天程序(7)
接上一小节,本来是计划这一节用来讲数据库的增删改查,但是在实现的过程中,出现了一点小问题,也不是技术的问题,就是在字符界面上比较不好操作。比如要注册一个帐号,就需要弄个字符界面提示,然后输入数字表示选择,在依次输入信息。(这一点,用C写过什么管理系统就知道,很是麻烦。)考虑到本程序讲的是网络编程,就不弄增删改查了,就判断一个用户名密码是否正确就行了。 首先是安装mysql和创建数据库,所
·
2015-11-07 14:36
socket
Socket网络编程
--聊天程序(6)
这一小节将增加一个用户的结构体,用于保存用户的用户名和密码,然后发给服务器,然后在服务器进行判断验证。这里就有一个问题,以前讲的就是发送字符串是使用char类型进行传输,然后在服务器进行用同样是字符串进行接收。然而作为一个结构体是不是也可以呢?如果有看send或recv的函数定义就知道第二个参数是void *类型,也就是说这两个函数对传入的类型其实是不做要求的,只是要你传输个地址,然后后面接一
·
2015-11-07 14:35
socket
Socket网络编程
--聊天程序(5)
上一小节我们讲了使用select来避免使用多进程的资源浪费问题。上次只是实现了从多个客户端发送数据给服务器端,接下来就要实现从服务器端发送数据给各个客户端。 使用select多路转换处理聊天程序2 client.c 使用上一节用的那个,在那个基础上修改下面几句 66 //send-recv 一些返回指没有判断,具体可以看server.c 67
·
2015-11-07 14:34
socket
Socket网络编程
--聊天程序(4)
上一小节讲到可以实现多客户端与服务器进行通讯,对于每一个客户端的连接请求,服务器都要分配一个进程进行处理。对于多用户连接时,服务器会受不了的,而且还很消耗资源。据说有个select函数可以用,好像还很NB的样子。 使用select多路转换处理聊天程序 下面摘取APUE 14.5小结 I/O多路转接 当从一个描述符读,然后又写到另一个描述符时,可以在下列形式的循环中循环中使用
·
2015-11-07 14:34
socket
Socket网络编程
--聊天程序(3)
上一小节,已经讲到可以每个人多说话,而且还没有限制,简单的来说,我们已经完成了聊天的功能了,那么接下来我们要实现什么功能呢?一个聊天程序至少应该支持一对多的通讯吧,接下来就实现多个客户端往服务器发送数据,和服务器向多个客户端发送数据。 多对一,单向,各个客户端都可以向服务器发送数据 close函数 #include <unistd.h> int cl
·
2015-11-07 14:33
socket
Socket网络编程
--聊天程序(2)
上一节简单如何通过Socket创建一个连接,然后进行通信。只是每个人只能说一句话。而且还是必须说完才会接收到信息,总之是很不方便的事情。所以这一小节我们将对上一次的程序进行修改,修改成每个人可以多说话,主要是通过Linux下多进程fork实现的。 一对一,server和client是每个人都可以多说几句话 由于控制台度数据的函数fgets是阻塞函数,要每个人都可以多说话,这里我使用
·
2015-11-07 14:32
socket
Socket网络编程
--聊天程序(1)
很早的一段时间,看了APUE和UNPv1了解了网络编程,但是但是只是看而已,没有具体的实践,趁现在没有什么事做,就来实践了解一下网络编程。写博客保存下来,方便以后用到的时候可以查到。 此次的聊天程序是迭代开发的。就是一步一步的修改成不同功能的聊天程序。 服务器server和客户端client 一对一,server和client是每人一句话聊天 讲解几个函数get
·
2015-11-07 14:31
socket
Python Socket Programming
本文介绍使用Python进行
Socket网络编程
,假设读者已经具备了基本的网络编程知识和Python的基本语法知识,本文中的代码如果没有说明则都是运行在Python 3.4下。
·
2015-11-07 13:56
programming
Socket网络编程
--FTP客户端(2)(Windows)
上一篇FTP客户端讲到如果制作一个简单的FTP客户端,功能实现了,但是后面我们发现了问题,就是FTP是使用明文进行操作的。对于普通情况来说就无所谓了。但有时候要安全的一点的话,就应该使用FTP的安全版本。有SFTP和FTPs,两者都是FTP的安全版本,但是两者的实现原理差别还是很大的,具体自己搜索了解。 0.环境安装 环境使用我的这一篇文章安装好libssh2库。 h
·
2015-11-07 10:42
windows
Socket网络编程
--FTP客户端(1)(Windows)
已经好久没有写过博客进行分享了。具体原因,在以后说。 这几天在了解FTP协议,准备任务是写一个FTP客户端程序。直接上干货了。 0.了解FTP作用 就是一个提供一个文件的共享协议。 1.了解FTP协议 FTP有指令和响应码。FTP 控制帧即指 TELNET 交换信息,包含 TELNET 命令和选项。然而,大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP
·
2015-11-07 10:40
windows
C#
Socket网络编程
精华篇
我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应
·
2015-11-06 07:02
socket
Socket网络编程
学习笔记(2)
在上一篇中,我列了一些常用的方法,可以说这些方法是一些辅助性的方法,对于分析网络中的主机属性非常有用。在这篇中,我将会介绍一下面向连接(TCP)socket编程,其中辅以实例,代码可供下载。 对于TCP的Socket编程,主要分二部分: 一、服务端So
·
2015-11-05 08:36
socket
Socket网络编程
学习笔记(1)
虽然天天上博客园欣赏各位“大侠”的杰作,偶然回首,突然发现自己已成“潜水者”久矣。本来对于自己有限的水平,有点不好意思在此发贴,不过潜伏久了,才慢慢意识到老是通过浏览他人的文章虽然能够提高自己能力,能够及时的获取新技术新思想,但却只能停留在他人的思想上。通过学习,加上自己的想法,再写出来,让大家来指证错误,不仅能够巩固自己的知识,也可以让一些跟我一样迷惘的朋友们不用再去走一些弯路,
·
2015-11-05 08:35
socket
Socket网络编程
--简单Web服务器(1)
这一次的Socket系列准备讲Web服务器。就是编写一个简单的Web服务器,具体怎么做呢?我也不是很清楚流程,所以我找来了一个开源的小的Web服务器--tinyhttpd。这个服务器才500多行的代码,使用C语言。这一小节就不讲别的内容了。就对这个程序进行一些注释和讲解了。 主函数: 1 int main(void) 2 { 3 int server_sock =
·
2015-11-03 21:10
socket
linux下
socket网络编程
网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。 什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程
·
2015-11-02 17:00
socket
Socket网络编程
学习笔记(5):发送和接收实体类数据
在前面讲述的篇幅中,发送的都是文本信息,我们只要通过Encoding中的几个方法把文本转化成二进制数组就可以利用Socket来传输了,这对于一些基本的信息传输能够得到满足,但对于一些复杂的消息交流,则有些“吃力”。我们有时候会把一些信息封闭在一个类中,如果Socket能够传送类对象,那么一些复杂的问题能够通过面向对象来解决了,
·
2015-11-02 13:41
socket
Socket网络编程
学习笔记(4):TCP消息边界处理
在前面的几篇中,讲了关于套接字Socket以及利用套接字助手类来进行服务端和客户端之间的通信,在此中间并没有对发送的信息进行任何的处理。在本篇中将会讲一下TCP通信时的信息边界问题。 通过套接字或其助手类来接收信息时,是从缓存区里一次性把全部的缘存都
·
2015-11-02 13:41
socket
Socket网络编程
学习笔记(3):利用套接字助手类
在上一篇中已经介绍了利用Socket建立服务端和客户端进行通信,如果需要的朋友可访问《
Socket网络编程
学习笔记(2):面向连接的
·
2015-11-02 13:40
socket
Socket网络编程
学习笔记(2):面向连接的Socket
在上一篇中,我列了一些常用的方法,可以说这些方法是一些辅助性的方法,对于分析网络中的主机属性非常有用。在这篇中,我将会介绍一下面向连接(TCP)socket编程,其中辅以实例,代码可供下载。 对于TCP的Socket编程,主要分二部分: &
·
2015-11-02 13:39
socket
上一页
12
13
14
15
16
17
18
19
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他