Socket编程
文章平均质量分 66
ulark
这个作者很懒,什么都没留下…
展开
-
Socket开发探秘--基于Json格式的数据协议收发
前面发表过两篇随笔:《Socket开发探秘--基类及公共类的定义》和《Socket开发探秘--数据封包和拆包》,介绍了Socket方面的开发。本文继续探讨使用Json格式来作为Socket收发协议方面的技术问题。前面说到,收到的Socket数据经过粗略的解析后,就是PreData类型的数据,这个是通用的数据格式,我们需要进一步处理才能转化为所能认识的数据对象(实体类对象),同样,我们发送数据的原创 2010-01-27 10:17:00 · 754 阅读 · 0 评论 -
Socket开发探秘--基类及公共类的定义 (转)
Socket开发是属于通信底层的开发,.NET也提供了非常丰富的类来实现Socket的开发工作,本篇不是介绍这些基础类的操作,而是从一个大的架构方面阐述Socket的快速开发工作,本篇以TCP模式进行程序的开发介绍,以期达到抛砖引玉的目的。要掌握或者了解Socket开发,必须了解下面所述的场景及知识。1、TCP客户端,连接服务器端,进行数据通信2、TCP服务器端,负责侦听客户端连接转载 2010-05-19 18:29:00 · 463 阅读 · 0 评论 -
实现http协议GET、POST请求类 (转)
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.IO; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates;原创 2010-05-19 18:33:00 · 685 阅读 · 0 评论 -
C#中Socket多线程编程实例 (转)
C#是微软随着VS.net新推出的一门语言。它作为一门新兴的语言,有着C++的强健,又有着VB等的RAD特性。而且,微软推出C#主要的目的是为了对抗Sun公司的Java。大家都知道Java语言的强大功能,尤其在网络编程方面。于是,C#在网络编程方面也自然不甘落后于人。本文就向大家介绍一下C#下实现套接字(Sockets)编程的一些基本知识,以期能使大家对此有个大致了解。首先,我向大家介绍一下套接字转载 2010-05-19 17:51:00 · 802 阅读 · 0 评论 -
异步Socket编写的一个简易的聊天室
http://www.cnblogs.com/xuting/archive/2009/08/12/1544381.html http://www.cnblogs.com/sufei/archive/2009/04/13/1434690.html原创 2010-05-10 10:26:00 · 498 阅读 · 0 评论 -
经过一年时间的沉淀 再次回首 TCP Socket服务器编程 (转)
<br />------------------<br />前言<br />------------------<br />开发了这么多年,发现最困难的程序开发就是通讯系统。<br /> <br />其他大部分系统,例如CRM/CMS/权限框架/MIS之类的,无论怎么复杂,基本上都能够本地代码本地调试,性能也不太重要。(也许这个就是.net的企业级开发的战略吧)<br /> <br />可是来到通讯系统,一切变得困难复杂。原因实在太多了,如:性能永远是第一位:有时候一个if判断都要考虑性能,毕竟要损耗一个C原创 2010-06-28 09:58:00 · 2638 阅读 · 1 评论 -
C#的Socket程序(TCP)
其实只要用到Socket联接,基本上就得使用Thread,是交叉使用的。C#封装的Socket用法基本上不算很复杂,只是不知道托管之后的Socket有没有其他性能或者安全上的问题。在C#里面能找到的最底层的操作也就是socket了,概念不做解释。程序模型如下:WinForm程序 : 启动端口侦听;监视Socket联接情况;定期关闭不活动的联接;Listener:处理Socket的Accept转载 2010-03-17 10:41:00 · 413 阅读 · 0 评论 -
在不知道流的长度下,怎样判断从socket中读取的字节流结束?
我尝试过使用read() = -1这种方法来判断是否读完字节流Java代码 DataInputStream in = new DataInputStream(socket.getInputStream()); ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); int read =原创 2009-12-19 18:24:00 · 3381 阅读 · 4 评论 -
如何获得通过socket传过来的字节流的长度
建立一个监听的socket,有客户端向该socket发送数据,每次的发送均不等长。 我如何在使用recv()函数前获得接受数据的长度呢? 我已找了论坛,可没有答案。 谢谢各位 UDP的话,每次发过来多长的包接收到的包就是多长,当然前提是接收成功。 TCP的话,需要自己定义格式了,如每次先发过来信息长度,然后发送信息实体。接收的时候先接收长度信原创 2009-12-19 18:16:00 · 5820 阅读 · 0 评论 -
.net网络编程之一:Socket编程
.net网络编程之一:Socket编程技术拾零 2009-11-13 11:59 阅读37 评论0 字号: 大大 中中 小小 在.net下进行网络编程其实也相对比较简单,因为在.net类库已经提供了大量封装好的类。在.net下网络编程比较底层的类是System.Net.Sockets.Socket类,这个类提供了丰富的方法和属性,并且还提供原创 2009-12-19 18:04:00 · 807 阅读 · 0 评论 -
数字进制
十六进制是计算机中数据的一种表示方法.同我们日常中的十进制表示法不一样.它由0-9,A-F,组成.与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0---(N-1)的数表示超过9的用字母A-F例如:10进制的32表示成16进制就是:2016进制的32表示成10进制就是:3×16^1+2×16^0=506.1 为什么需要八进制和十六进制?编程中,我们常用的还是10进制原创 2009-12-17 11:53:00 · 822 阅读 · 0 评论 -
整理C# 二进制,十进制,十六进制 互转
//十进制转二进制Console.WriteLine(Convert.ToString(69, 2));//十进制转八进制Console.WriteLine(Convert.ToString(69, 8));//十进制转十六进制Console.WriteLine(Convert.ToString(69, 16));//二进制转十进制Console.WriteLine(Convert.ToInt32原创 2009-12-17 13:12:00 · 430 阅读 · 0 评论 -
简单实现Http代理工具(转)
<br />本来意图是想写个工具放到服务器里代理一下上秋秋的。<br />没想到N台(电信/联通/移动)的服务器都把端口全封了。<br />所以以下代码是在本地测试代理网页访问通过。<br /> <br />说下思路再上代码及下载:<br />其实一句话就是:产生两个Soket,一个负责接收请求和回发请求,另一个负责中转的去请求和接收。<br />重点一句话就是:每个请求产生一个线程处理,处理时关键是的延时处理(不然数据接收不全)。<br /> <br />现在上代码,Proxy自定义类:<br /> Pr转载 2010-09-26 14:54:00 · 856 阅读 · 0 评论