您好,欢迎来到五八零教育网。
搜索
您的当前位置:首页socket通信

socket通信

来源:五八零教育网




SOCKET通信

一、SOCKET通信的基本步骤

1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。

2、等待客户请求到达该端口。

3、接收到重复服务请求,处理该请求并发送应答信号。

4、返回第二步,等待另一客户请求

5、关闭服务器。

客户方:

1、打开一通信通道,并连接到服务器所在主机的特定端口。

2、向服务器发送服务请求报文,等待并接收应答;继续提出请求……

3、请求结束后关闭通信通道并终止。

用到的类(IPAddressDnsSocketIPEndPoint1.利用Tcp协议编程
1)服务器端:
a)建立TCPTcpListener对象。

TcpListenertl=new TcpListener(端口号);
b)启动
tl.Start();
c)用获取连接进来的套接字(Socket
Sockets=myList.AcceptSocket();
d)通过SocketReceive方法获取客户端发送的数据
byte[] result=new byte[1024];
intk=s.Receive(result);
e)通过SocketSend方法向客户端发送数据
byte[]st=System.Text.Encoding.Default.GetBytes(“text”); s.Send(st);
f)在通讯结束后,需要释放资源结束监听
s.Close();
tl.Stop();
2)客户端:
a)建立TCP客户端TcpClient对象。

TcpClienttcpclnt = new TcpClient();
b)连接服务器
tcpclnt.Connect(IP地址字符串,端口号);c)获得客户端网络传输流



Streamstm =tcpclnt.GetStream(); d)通过StreamWrite方法向服务器端发送的数据e)通过StreamRead方法读取服务器段发来的数据f)在通讯结束后,需要释放资源,结束和服务器的连接

tcpclnt.Close();
2.利用UDP协议编程
a)建立UDP客户端UdpClient对象。

UdpClientuc=new UdpClient(端口号);
b)连接对方远程主机
uc.Connect(IP地址,对方远程主机的端口号);
c)通过ucReceive方法获取远程主机发送来的数据
IPEndPointip=new IPEndPoint(IPAddress.Parse(IP字符串),端口号);

byte[]b=uc.Receive(ref ip);
e)通过ucSend方法向远程主机发送数据

byte[]st=System.Text.Encoding.Default.GetBytes(“text”); uc.Send(st);
f)在通讯结束后,需要释放资源

uc.Close();

Socket.Connect方法:建立到远程设备的连接
publicvoid Connect(EndPoint remoteEP)(有重载方法)
Socket.Send方法:从数据中的指示位置开始将数据发送到连接的Socket

publicint Send(byte[], int, SocketFlags);(有重载方法)Socket.SendTo 方法将数据发送到特定终结点。

publicint SendTo(byte[], EndPoint);(有重载方法)
Socket.Receive方法:将数据从连接的Socket接收到接收缓冲区的特定位置。

publicint Receive(byte[],int,SocketFlags);
Socket.ReceiveFrom方法:接收数据缓冲区中特定位置的数据并存储终结点。

publicint ReceiveFrom(byte[], int, SocketFlags, ref EndPoint); Socket.Bind方法:使Socket与一个本地终结点相关联:publicvoid Bind( EndPoint localEP );
Socket.Listen方法:将Socket置于侦听状态。

publicvoid Listen( int backlog );
Socket.Accept方法:创建新的Socket以处理传入的连接请求。

publicSocket Accept();
Socket.Shutdown方法:禁用某Socket上的发送和接收publicvoid Shutdown( SocketShutdown how );
Socket.Close方法:强制Socket连接关闭
publicvoid Close();
二、SOCKET测试工具有哪些





三、流程图





Copyright © 2019- 580590.com 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务