Socket一般应用模式(服务器端和客户端)
服务器端Socket(至少有两个)
->一个负责接收客户端连接请求(但不负责和客户端通信)
->没成功接收到一个客户端的连接便在服务端生成一个对应的负责通信的Socket
->在接收到客户端连接时创建
->为每个连接成功的客户端请求在服务端创建一个对应的Socket(负责和客户端通信)
客户端的Socket
->必须指定要连接的客户端地址和端口
->通过创建Socket对象来初始化一个到服务器端的TCP连接

Socket通讯过程
服务器端
申请一个Socket
绑定一个IP地址和一个端口号
开启监听,等待接受连接
客户端的
申请一个Socket
连接服务器(指明iP地址和端口号)
服务器端接到连接请求后,产生一个新的与客户端连接并通讯,原监听Socket继续监听。

Socket构造函数--它其实在.net中就是一个类,封装类操作系统的一个函数,就是Socket函数
public Socket(AddressFamily addressFamily,SocketType socketType,ProtocolType protocolType);
AddressFamily成员指定 Socket用来解析地址的寻址方案, 例如InterNetwork 指示当Socket使用一个IP版本4地址连接
SocketType要打开的Socket类型
Socket类使用ProtocolType枚举向Windows Socket API通知所请求的协议

例如

mySocket=new Socket(AddressFamily.InterNetword,SocketType.Stream,ProtocolType.Tcp)

线程能执行的方法由两种形式,这个参数必须是object
1.无参无返回值
2.有参无返回值

ocket方法--------发送文字消息
相关类:
IPAddress类:包含了一个IP地址
IPEndPoint类:包含了一个IP地址和端口号
方法:
Socket():创建一个Socket
Bind():绑定一个本地的IP和端口号(IPEndPoint)
Listen():让Socket侦听传入的连接尝试。并指定侦听队列容量
Connet():初始化与另一个Socket的连接
Accept():接收连接并返回一个新的socket
send():输出数据到Socket
Receive():从Socket中读取数据
Close():关闭Socket(销毁连接)

Socket 学习的更多相关文章

  1. Socket 学习(三).4 UDP 穿透 客户端与客户端连接

    效果图: 使用方法:  先 修改WinClient\bin\Debug  下面的 ip.ini,写上 服务器 IP地址. 客户端 与 客户端 通讯 之前 ,点击发送打洞消息 按钮,然后过一会再发送消息 ...

  2. Socket学习总结系列(二) -- CocoaAsyncSocket

    这是系列的第二篇 这是这个系列文章的第二篇,要是没有看第一篇的还是建议看看第一篇,以为这个是接着第一篇梳理的 先大概的总结一下在上篇的文章中说的些内容: 1. 整理了一下做IM我们有那些途径,以及我们 ...

  3. 你也可以写个服务器 - C# Socket学习2

    前言 这里说的服务器是Web服务器,是类似IIS.Tomcat之类的,用来响应浏览器请求的服务. Socket模拟浏览器的Url Get请求 首先浏览器的请求是HTTP协议.我们上一篇说过,HTTP是 ...

  4. 你也可以写个聊天程序 - C# Socket学习1

    原文:你也可以写个聊天程序 - C# Socket学习1 简述 我们做软件工作的虽然每天都离不开网络,可网络协议细节却不是每个人都会接触和深入了解.我今天就来和大家一起学习下Socket,并写一个简单 ...

  5. python socket 学习

    Python在网络通讯方面功能强大,今天学习一下Socket通讯的基本方式,分别是UDP通讯和TCP通讯. UDP通讯 upd 服务端 #!/usr/bin/env python # -*- codi ...

  6. socket学习笔记——实现收发文件(Windows)

    记录下来,供自己学习! server.c #define _CRT_SECURE_NO_DEPRECATE #include <stdio.h> #include <stdlib.h ...

  7. Socket学习笔记

    ..........(此处略去万万字)学习中曲折的过程不介绍了,直接说结果 我的学习方法,问自己三个问题,学习过程将围绕这三个问题进行 what:socket是什么 why:为什么要使用socket ...

  8. C# Socket学习笔记二

    小记:昨天咱们已经了解了Socket的通信原理,可是点对点的一次通信并不是我们想要的,那么今天那我们就继续学习异步通信,简单来说就是服务器端和客户端可以进行多次 互发信息的通信而不用担心通道会关闭.在 ...

  9. C# Socket学习笔记一

    小记:刚接触网络编程觉得网络是个神奇的东西,所以对它就很有兴趣,想了解下网络是如何进行进行数据传输的,那么开始第一天的学习吧!ReadyGo!!! 首先我们要了解一下几点内容: 1.网络中进程之间如何 ...

  10. Socket学习总结系列(一) -- IM & Socket

    写在准备动手的时候: Socket通讯在iOS中也是很常见,自己最近也一直在学习Telegram这个开源项目,Telegram就是在Socket的基础上做的即时通讯,这个相信了解这个开源项目的也都知道 ...

随机推荐

  1. [转载]# Ajax异步请求阻塞情况的解决办法

    最近使用ExtJs4的mvc模式在开发了在线漫画的后台,因为异步请求比较多,有的回应时间长,有点短.我发现在多次并发的情况下,会造成阻塞的情况.也就是说如果回应时间长的请求还在进行中,短的请求却被挂起 ...

  2. 算术编码JM实现

    h.264标准中,CABAC的算术编码部分(9.3.4)只是一个参考,实际编码器中并不一定会按照它来实现,像JM中就有自己的算术编码实现方案. 在上篇文章CABAC中有详细的算术编码描述,在了解算术编 ...

  3. 纯CSS打造可折叠树状菜单

    1:Html代码 <li> <label for="subsubfolder1">下级</label> <input id="s ...

  4. Batik - 将svg转换成其他格式图片或PDF - [导出服务器配置] 导出服务器原理解析

    导出服务器原理解析 Highcharts图表导出(或下载)本质上是将SVG代码转换为不同文件格式的过程,用到的工具是batik,所以所谓导出服务器,只不过是调用batik,将SVG代码转换并下载.下图 ...

  5. 利用row_number over 函数删除重复记录

    开窗函数                Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行 SQ ...

  6. 【HDOJ】3308 LCIS

    线段树,题目感觉比较难,看别人思路做的.还得继续练这个专题. #include <iostream> #include <cstdio> #include <cstrin ...

  7. [LeetCode#12] Roman to Integer

    Problem: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range ...

  8. 字符串(后缀自动机):Ahoi2013 差异

    Description Input 一行,一个字符串S Output 一行,一个整数,表示所求值 Sample Input cacao Sample Output 54 HINT 2<=N< ...

  9. 简单tableView的使用

    UITableView是一个用于显示列表的视图,可以作为子视图镶嵌在主视图上,可以滑动,选取各种参数 定义: @interface ViewController : UIViewController& ...

  10. octopress的一些总结

    1.编辑_config.yml 的description时,不能使用tab键 2.修改主题‘MediumFox’  description 和 文章展示的宽度,修改文件home_landing_row ...