socket笔记
来源:互联网 发布:大数据课程视频教程 编辑:程序博客网 时间:2024/05/22 04:41
定义:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。端口+Ip地址
服务端通信步骤:
1、服务端建立负责监听ip和端口号的Socket SocketWatch= new Socket(AdressFamlily.InterNetWork,SocketType.Stream,Protocol.Tcp)
IpAdress=IpAdress.Any;IpEndPoint point=new IpEndPoint(IpAdress,Port);
2、绑定监听端口:SocketWatch.Bind(point);SocketWatch.Listen(point);
3、设置监听队列:排队大小,等待客户端连接。( Socket socketSend= socketWatch.Accpet())
4、建立一个负责通信的Socket(需要开新线程监听) th=new Thread(Listen);th.start(SocketWatch)
Void Listen(Objet o){ Socket socketWatch=o as socket; while(true){socketSend=socketWatch.Accpet()} }
5、服务端接受数据:int r=socketSend.Receive(buffer=new byte[1024*1024*2])
需要不断接受:while(true){th=new thread(Receive);th.IsBackGround=True;th.start(socketSend)}
接受方法:Receive(o){while(true){socketsend....} }
注:网络中会出现各种异常,这里可以使用try..catch..来隐藏异常,只为不让用户看到。
客户端通信步骤:和服务端类似。服务端发送消息,需要将客户端socket存起来,DicTionary(IpString,Socket)
接发不同类型消息需要在发送的buffer第一位加标记为、使用List<Byte>,list.add(0);list.addRange(buffer) newBuffer=list.toArray()
发送文件:FsRead=new FileStream(path,...);r=FsRead.Read(buffer,0,buffer.lenth);dicSocket[..].send(buffer,0,lenth)
接受文件:sfd = new SaveFileDialog();sfd.showDialog(this);fsWrite.Write(buffer,1,r+1)
震动:for(i<1000) {this.location=new point(100,200);this.location=new point(200,300);}
- Socket笔记
- socket 笔记
- socket 笔记
- Socket笔记
- socket笔记
- socket笔记
- socket笔记
- socket笔记
- Socket笔记
- socket笔记
- SOCKET笔记
- socket笔记
- socket笔记
- Socket笔记
- socket笔记
- MFC socket文档笔记 --socket
- socket学习笔记
- socket KeepAlive 使用笔记
- First Post
- c++:重载、覆盖、隐藏 及const 问题
- 黑马程序员——Java基础---equals和"=="的区别
- GLSL绘制流程的粗浅理解
- 深入理解Java内存模型之系列篇
- socket笔记
- JM模型I帧帧内预测流程
- [LeetCode]Trapping Rain Water
- 关于 Android 连接蓝牙的方法
- Fedora21安装Fcitx及搜狗输入法
- 搭建 git 服务器步骤
- tmux 安装、使用、配置
- 移动应用的架构约束
- 如何修改DATAGUARD的online redo log