1什么是socket? socket的英文原义是“孔”或“插座”。作为进程通信机制,取后一种意思。

通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄。

(其实就是两个程序通信用的。)是客户端与服务器通信的桥梁

2.两种类型 流式:安全 效率低 针对于面向连接的tcp服务应用 报文:不安全(丢失,顺序混乱,在接收端要分析重排及要求重发) 效率高 是一种无连接的Socket,对应于无连接的UDP服务应用

3.Socket的通讯过程 1.using System.net 网络节点(ip 和端口)using System.net.Socket 2.实例化 Socket sock=new Socket(……)使用IP4寻址协议,流式传输,Tcp协议) 3.IpAddress address=IpAddress.Parse(txtIp.Text)//创建ip对象 IPEndPoint endPint =new IpEndPoint(address,int.Parse(txtPort.Text)); //创建网络节点对象 ip和端口号 socket。Bind(endpoint); //将监听套接字 绑定到对应的 ip和端口

socket.Listen(10);//设置监听队列的长度 最多中只能接受10个 连接请求

//socket.Accept();//负责监听 客户端 连接请求 但是 他会阻断当前线程   //那就创建后台线程 方法内容 :调用socket.Accept();方法

Scoket.Receive(字节数组)Receive会阻断线程

*****4.运行原理:客户端与服务器 1.客户端发送请求(ip和端口号) 2.服务器监听客户端的连接请求 3.通过accept方法获取了负责与客户端通信的套接字 4.双方发送和监听

5.注意:要一直保持监听和receive的状态 accept和receive会阻断线程 需要用一个后台线程来处理 如果需要修改用其他线程来修改 控件的数据 可能还会涉及到一些跨线程的东东(Lock(this)) 或者将窗体设置可以跨线程 TextBox.CheckForIllegalCrossThreadCalls = false;

2.Socket一般应用模式(服务器端和客户端) 客户端:2.(来找女朋友的男生)客户端套接字 服务器:1.(女生宿舍阿姨)负责监听 连接请求 的套接字   1.1(一个负责接收客户端连接请求(但不负责与客户端通信)

3.由(女生宿舍阿姨) 创建 负责和客户端通信的套接字    每成功接收到一个客户端的连接便在服务端产生一个对应的Socket   3.1在接收到客户端连接时创建.   3.2为每个连接成功的客户端请求在服务端都创建一个对应的Socket(负责和客户端通信).

socket浅谈的更多相关文章

  1. 浅谈Socket编程

    浅谈Socket编程 说到Socket,想必大家会觉得陌生又熟悉.许多同学听说过Socket,但仅仅知道它翻译成中文叫做套接字,除此之外似乎并没有太多的了解了.那么今天我就来抛砖引玉地聊一聊Socke ...

  2. 浅谈IM软件怎样建立安全socket连接、登录

    ----------------------------------------------------欢迎查看IM软件业务知识<专栏>-------------------------- ...

  3. 浅谈JAVA中如何利用socket进行网络编程(二)

    转自:http://developer.51cto.com/art/201106/268386.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以 ...

  4. TODO:浅谈pm2基本工作原理

    TODO:浅谈pm2基本工作原理 要谈Node.js pm2的工作原理,需要先来了解撒旦(Satan)和上帝(God)的关系. 撒旦(Satan),主要指<圣经>中的堕天使(也称堕天使撒旦 ...

  5. [转]浅谈https\ssl\数字证书

    浅谈https\ssl\数字证书 http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 全球可信的 ...

  6. Web服务器和动态语言如何交互--CGI&FastCGI&FPM浅谈

    一个用户的Request是如何经过Web服务器(Apache,Nginx,IIS,Light)与后端的动态语言(如PHP等)进行交互并将结果返回给用户的呢? 本文浅谈个人观点,可能有误,欢迎拍砖,共同 ...

  7. 浅谈测试rhel7新功能时的感受及遇到的问题【转载】

    半夜起来看世界杯,没啥激情,但是又怕错误意大利和英格兰的比赛,就看了rhel7 相关新功能的介绍. rhel7的下载地址: https://access.redhat.com/site/downloa ...

  8. 浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)

    1.熟悉几个组件 1.1.apache     —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 ...

  9. 浅谈Tomcat和Servlet

    本文浅谈下对Tomcat和Servlet总体的理解,初学时有用过一段时间,但当时疲于应对如何xml配置和使用,对他们的理解就像是一个黑匣子.现在回顾一下帮助自己加深网络的理解.开始还是先推荐我看的文章 ...

随机推荐

  1. 新浪研发中心: Berkeley DB 使用经验总结

    http://blog.sina.com.cn/s/blog_502c8cc40100yqkj.html NoSQL是现在互联网Web2.0时代备受关注的技术之一,被用来存储大量的非关系型的数据.Be ...

  2. Windows 8.1 with update 官方最新镜像汇总(全)

    Windows 8.1 with update 官方最新镜像汇总,发布日期: 2014/12/16,Microsoft MSDN. 镜像更新日志: 12/29:32位大客户专业版中文版12/24:64 ...

  3. MySQL流程控制函数

    官方文档:Control Flow Functions Name Description CASE Case operator IF() If/else construct IFNULL() Null ...

  4. iostat 离线安装

    由于lucene需要一定的io读写顾安装iostat来对磁盘io进行监控 iostat 属于sysstat下的功能 git路径如下:https://github.com/sysstat/sysstat ...

  5. 如何使用WCF调试器WcfTestClient.exe

    如果启用服务出现如下异常 请启用下面该服务 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE 文件->添加服务  地 ...

  6. 捆绑和缩小(BundleConfig.RegisterBundles) 第五章 : MVC中的使用 | {version}用法

    使用捆绑与 ASP.NET MVC 放缩法 在这一节我们将创建 ASP.NET MVC 项目,审查捆绑和缩小.首先,创建一个新的 ASP.NET MVC 互联网项目,命名为MvcBM ,而无需更改任何 ...

  7. C++小知识之wsprintf使用

    在C语言中格式化字符串可以使用printf,但是在WINDOWS编程设计中却行不通了,但是却有变通的方法,那就是用 wsprintf这个函数.它的格式如下: int wsprintf (    LPT ...

  8. 面向切面编程(AOP)的理解

    在传统的编写业务逻辑处理代码时,我们通常会习惯性地做几件事情:日志记录.事务控制及权限控制等,然后才是编写核心的业务逻辑处理代码.当代码编写完成回头再看时,不禁发现,扬扬洒洒上百行代码中,真正用于核心 ...

  9. python之路-随笔 python处理excel文件

    小罗问我怎么从excel中读取数据,然后我百了一番,做下记录 以下代码来源于:http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html ...

  10. springmvc访问路径传递参数

    @RequestMapping(value = "/{path}/toList") public String toList(@PathVariable String path) ...