socket编程
晴天_娃娃
这个作者很懒,什么都没留下…
展开
-
Java基础:三步学会Java Socket编程
第一步 充分理解Socket 1.什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使转载 2012-08-21 16:44:25 · 320 阅读 · 0 评论 -
IP别名+TCP转发+端口映射实现跨网络访问[原创]
一、背景环境: 1、都是Linux服务器; 2、“服务器A”与“服务器C”不在同一网络,两者之间是不通的; 3、“服务器A”、“服务器C”分别与“服务器B”相通。 二、要实现的需求: 1、让“服务器A”上的PHP程序能够连接“服务器C”上的MySQL数据库(IP:10.10.1.4,端口:3306); 2、不允许在“服务器A”上的PHP程序中更改MySQL地原创 2012-12-06 23:02:18 · 2299 阅读 · 0 评论 -
一个TCP/IP转发的例子
一个TCP/IP转发的例子#include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifndef _SCO_DS#incl转载 2012-12-06 22:50:30 · 648 阅读 · 0 评论 -
TCP to TCP 数据转发
TCP to TCP 数据转发MSN:yiqianfeng@hotmail.com需要转载请联系作者目的 我们部门在内网有一台Web服务器A,用于部门文档信息管理,可分公司的员工,或出差的员工,都不能直接访问这台机器。所以还得把发邮件来完成文档的提交。如何实现外地员工能访问Web服务器A呢?公司有一台可以访问外网的机器B,要是在B上运行一个数据转发程序,固定地转载 2012-12-06 23:08:18 · 3864 阅读 · 1 评论 -
TCP转发服务器的例子
2009-05-28 15:02:14| 分类: 电脑知识|字号 订阅这几种机器用事件模型应该够用了。 下面是一个TCP转发服务器的例子,他的作用是有一些客户端连到服务器后,任何一个客户端发给服务器的数据都被服务器原封不动的转发到所有客户端,类似于多人聊天的概念。 program EventSelectServer; {$APPTYPE CONSOLE}转载 2012-12-06 23:10:03 · 5273 阅读 · 0 评论 -
CLOSE_WAIT生成的原因
CLOSE_WAIT,TCP的癌症,TCP的朋友。CLOSE_WAIT状态的生成原因首先我们知道,如果我们的服务器程序APACHE处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!因为如果是CLIENT端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet: Client ---> FIN ---> Server转载 2012-12-27 20:12:38 · 711 阅读 · 0 评论 -
简单的linuxepoll服务器开发
2008年11月27日 12:40 来源:ChinaUnix博客 作者:hust_qb 编辑:周荣茂 鉴于poll select的弱势--在线人数的线形递增而导致呈二次乃至三次方的下降,这些直接导致了网络服务器可以支持的人数有了个比较明显的限制。 epoll在linux内核2.6被开发出来,经过测试,运行稳定,已经成为现在主流的select模式。 epoll用到的所有函转载 2012-12-27 20:50:37 · 479 阅读 · 0 评论 -
inet_pton
Linux下IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换 而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。 inet_pton函数原型如下[将“点分十进制” -> “整数”] #include sys/types.h> #include #inclu原创 2012-12-14 11:05:25 · 774 阅读 · 0 评论 -
Linux Epoll介绍和程序实例
1. Epoll 是何方神圣? Epoll 可是当前在 Linux 下开发大规模并发网络程序的热门人选, Epoll 在 Linux2.6 内核中正式引入,和 select 相似,其实都 I/O 多路复用技术而已 ,并没有什么神秘的。 其实在 Linux 下设计并发网络程序,向来不缺少方法,比如典型的 Apache 模型( Process Per Connection ,简称 PPC转载 2012-12-27 20:58:47 · 398 阅读 · 0 评论 -
setsockopt设置socket状态
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经转载 2012-12-28 15:59:12 · 387 阅读 · 0 评论 -
sock5代理工作原理
代理服务器的原理用简单点的话说是:机器A想到机器B下载东西,或者其他,某些原因致使无法实现。现有代理服务器C,所以A可以先和C建立联系,将请求发送给C,C接到请求,和B建立联系,将A想要的东西下到本地,在发送给A。代理功能完成。sock5代理工作原理出处:darkness fallen时间:Wed, 26 Apr 2006 11:42:15 +0000作者:hjma地址原创 2012-12-20 20:23:08 · 872 阅读 · 0 评论 -
Linux设置socket连接超时
Linux设置socket连接超时(异步连接) 转载▼标签: linux socket connect 超时 it分类: Linux & C1.首先将标志位设为Non-blocking模式,准备在非阻塞模式下调用connect函数2.调用connect,正常情况下,因转载 2013-01-26 17:21:58 · 8129 阅读 · 0 评论 -
Windows 和 Linux下使用socket下载网页页面内容(可设置接收/发送超时)的代码
主要难点在于设置recv()与send()的超时时间,具体要注意的事项,请看代码注释部分,下面是代码:[cpp] view plaincopyprint?#include #include #include #include #include #include #ifdef _WIN32转载 2013-01-26 17:31:45 · 1083 阅读 · 0 评论 -
TCP状态迁移close_wait状态
TCP状态迁移大家对netstat -a命令很熟悉,但是,你有没有注意到STATE一栏呢,基本上显示着established,time_wait,close_wait等,这些到底是 什么意思呢,在这篇文章,我将会详细的阐述。大家很明白TCP初始化连接三次握手吧:发SYN包,然后返回SYN/ACK包,再发ACK包,连接正式建立。但是这里有点出入,当请求者收到SYS /ACK包后,就开始建原创 2013-01-21 11:04:14 · 897 阅读 · 0 评论 -
Linux下的单进程多用户TCP服务器,采用select方法实现。
/************************************************* * File name : server.c * Description : 单进程并发服务器 * Author : sg131971@qq.com * Version : V1.0 * Date : * Compiler : arm-linux-gcc原创 2013-03-06 11:21:34 · 917 阅读 · 0 评论 -
socket4和socket5的区别
socket5对于 socket4的改进关键词: socket5 socket4 网络编程中,对于数据传输实时性要求较高的场合,大家都会选择UDP来作为数据传输协议,在TCP/IP协议族中UDP协议较TCP协议需要的网络系统资源更少。然而在企业应用中,由于网络安全原因等会转载 2013-04-10 18:01:19 · 23407 阅读 · 0 评论 -
Linux下基于socket多线程并发通信的实现
[cpp] view plaincopyprint?/*************************************************** * 文件名:pthread_server.c * 文件描述:创建子线程来接收客户端的数据 ***************************************************/ #include转载 2012-09-09 09:43:03 · 472 阅读 · 0 评论 -
linux网络编程常用函数详解与实例(socket-->bind-->listen-->accept)
标签:linux网络socketbindlistenacceptconnectit分类: linux学习篇 常用的网络命令:netstat命令netstat是用来显示网络的连接,路由表和接口统计等网络的信息.netstat有许多的选项我们常用的选项是 -an 用来显示详细的网络状态.至于其它的选项我们可以使用帮助t原创 2012-08-27 14:38:21 · 798 阅读 · 0 评论 -
谈一谈网络编程学习经验
谈一谈网络编程学习经验 giantchen@gmail.com blog.csdn.net/Solstice PDF 版下载:https://github.com/downloads/chenshuo/documents/LearningNetworkProgramming.pdf本文谈一谈我在学习网络编程方面的一些个人经验。“网络编程”这个术语的范围很广,本文指用Sockets转载 2012-08-21 17:42:09 · 2535 阅读 · 0 评论 -
Linux下Socket编程
什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传转载 2012-08-21 16:46:31 · 395 阅读 · 0 评论 -
Linux Socket编程(不限Linux)
“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有转载 2012-08-21 16:45:39 · 545 阅读 · 0 评论 -
Socket编程指南及示例程序
1 前言在一些常用的编程技术中,Socket网络编程可以说是最简单的一种。而且Socket编程需要的基础知识很少,适合初学者学习网络编程。目前支持网络传输的技术、语言和工具繁多,但是大部分都是基于Socket开发的,虽说这些“高级”的网络技术屏蔽了大部分底层实现,号称能极大程度的简化开发,而事实上如果你没有一点Socket基础,要理解和应用这些技术还是很困难的,而且会让你成为“半转载 2012-08-21 16:43:07 · 663 阅读 · 0 评论 -
socket编程网站收集
http://www.zeroplace.cn/default.asp?cateID=23 http://developer.51cto.com/art/201202/318163.htmJAVA socket编程实例 编程JavaSocket多线程.net (转载文章,原作者无从考证,感谢作者的无私奉献) 事实上网络编程简单的理解就是两台计算机相互通讯数据而已.对转载 2012-08-21 16:42:28 · 443 阅读 · 0 评论 -
揭开Socket编程的面纱
对 TCP/IP 、 UDP 、 Socket 编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是 TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmission Control Protocol/Internet P转载 2012-08-21 13:55:48 · 446 阅读 · 0 评论 -
基于TCP/IP协议的C++网络编程(API函数版)
源代码:http://download.csdn.net/detail/nuptboyzhb/4169959基于TCP/IP协议的网络编程TCP/IP,主要是API(Application Programming Interface,应用编程接口)定义变量——获得WINSOCK版本——加载WINSOCK库——初始化——创建套接字 ——设置套接字选项——关闭套接字——卸载WINSOC转载 2012-08-21 17:23:04 · 910 阅读 · 0 评论 -
自己测的socket。学习笔记
测了好久,终于测通了,共测了两种情况!第一种情况:自己给自己发。配置:client和server的ip都设置成同一个ip,本人测试过程中使用的是127.0.0.1.其他的不变。第二种情况:分别把client和server放在两个虚拟机里。这里关于虚拟机里的设置搞死人额,也许自己关于虚拟机还不熟悉,所以就关于虚拟机设置,相互之间可以ping通,和外面机器也可以ping 通,我熬了一个通宵,总原创 2012-08-26 15:51:06 · 789 阅读 · 0 评论 -
linux socket 编程(C语言) .
最近看了一些网络编程的书籍,一直以来总感觉网络编程神秘莫测,其实网络编程入门还是很容易学的,下面这些代码是我在linux下编写的,已经运行过了,编译之后就可以运行了。有不足之处希望大家多多指出,共同学习交流。 套接字是一种进程间的通信的方法,不同于以往介绍的进程间通信方法的是,它并不局限于同一台计算机的资源,例如文件系统空间,共享内存或者消息队列。套接字可以认为是对管道概念的扩展——一转载 2012-08-25 00:14:09 · 782 阅读 · 0 评论 -
linux下Epoll实现简单的C/S通信
epoll的优点:1.支持一个进程打开大数目的socket描述符(FD) select 最不能忍受的是一个进程所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是2048。对于那些需要支持的上万连接数目的IM服务器来说显然太少了。这时候你一是可以选择修改这个宏然后重新编译内核,不过资料也同时指出这样会带来网络效率的下降,二是可以选择多进程的解决方案(传统的 Apache方转载 2012-08-25 00:26:28 · 2266 阅读 · 0 评论 -
linux命令大全(不断更新中)
Linux关机方法:shutdown -h now 关机(推荐) -h表示需要关机 now表示立即关机 now可以换成时间,表示等待一定时间关机shutdown -r now 重启(推荐)reboot 快速重新启动(跳过sync过程)注销有三种方式:ctrl+d,logout,exitinit 0 关机 init 1 单用户模式启动 一般是系统管理员进行维护时init转载 2012-08-25 00:39:08 · 897 阅读 · 0 评论 -
socket编程小问题:地址已经被使用——Address already in use
我也是刚开始学习socket网络编程,就在同学那搞到一个完整版的socket,我在centos上的eclipse下进行了编译,就是总出现Address already in use,后来发现了一篇博客,就是下文,试了试还是没用,结果就想一定是进程没有杀干净,所以就在eclipse下file里找到了restart,试了试果然好使!不过本人觉得下面一篇文章还是很好的! 很多s原创 2012-08-25 00:18:58 · 6062 阅读 · 1 评论 -
memset
linux环境下一个直接操作内存空间的C语言函数 包含在头文件string.h中!目录1 memset1 memsetmemset - memset功 能: 设置s中的所有字节为ch, s数组的大小由n给定用 法: void *memset(void *s, char ch, unsigned n);程序例:#include #i原创 2012-08-26 19:18:09 · 442 阅读 · 0 评论 -
调试socket(linux下的C)出现:warning: overflow in implicit constant conversion
buf[len]='/0';其中buf是这样定义的:char buf[BUFSIZ]; len是这样定义的:int len;调试之后出现错误,改正之后就不报错了: buf[len]=0;原创 2012-08-26 21:14:10 · 5969 阅读 · 0 评论 -
Sleep函数
简介: 函数名: sleep 功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned seconds); 在VC中使用带上头文件 #include 在gcc编译器中,使用的头文件因gcc版本的不同而不同 #include 注意 : 在VC中Sleep中的第一个英文字符为大写的"S"原创 2012-08-27 14:41:37 · 542 阅读 · 0 评论 -
CentOS Linux上安装ss5服务器
ss5是常见的socks5 proxy(代理服务器)软件,开源免费,且安装很容易。下面说下如何安装ss5服务器软件。1.安装编译环境yum -y install gcc automake make2.安装socks5必要的包yum -y install pam-devel openldap-devel cyrus-sasl-devel openssl-devel3.下载,编原创 2013-08-26 15:39:48 · 5811 阅读 · 0 评论