当前位置: 首页 > news >正文

机票售票网站开发seo网络推广培训班

机票售票网站开发,seo网络推广培训班,smartvideo wordpress,留学公司网站怎么做---部分截图来自 siki学院Unity网络通讯课程 Socket 网络上的两个程序通过一个双向的通信连接实现数据交换,这个连接的一端称为一个 Socket ,Socket 包含了网络通信必须的五种信息 Socket 例子{ 协议: TCP 本地: IP &#xff…

---部分截图来自 siki学院Unity网络通讯课程

Socket 

网络上的两个程序通过一个双向的通信连接实现数据交换,这个连接的一端称为一个 Socket ,Socket 包含了网络通信必须的五种信息

Socket 例子{ 

协议: TCP

本地: IP ,端口

远程: IP ,端口

}

可以通过ipconfig,netstat   -ano 查看 Ip 和端口

创建客户端连接服务端

客户端代码:

using System;
using System.Net.Sockets;namespace wangluo
{class Program{static void Main(string[] args){//创建一个Socket 需要using System.Net.Sockets;Socket tempClient = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);tempClient.Connect("127.0.0.1", 8888);}}
}

服务端代码:

using System;
using System.Net.Sockets;
using System.Net;namespace Server
{class Program{static void Main(string[] args){Socket tempServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);IPEndPoint tempEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888);  //using System.Net;tempServer.Bind(tempEndPoint);  //绑定端口tempServer.Listen(0);  //监听,0表示挂起的队列无限长Console.WriteLine("服务端启动成功");Socket tempConnectClient = tempServer.Accept();Console.WriteLine("客户端连接成功:" + tempConnectClient);}}
}

先开启服务端再开启客户端 

客户端服务端互发信息

客户端代码:

using System;
using System.Net.Sockets;
using System.Text;namespace wangluo
{class Program{static void Main(string[] args){//创建一个Socket 需要using System.Net.Sockets;Socket tempClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);tempClient.Connect("127.0.0.1", 8888);//客户端向服务端发信息string tempSendInfo = Console.ReadLine();//将字符串转换成 bufferbyte[] tempSendData = Encoding.UTF8.GetBytes(tempSendInfo);//发送信息tempClient.Send(tempSendData);//接收来自服务端的信息byte[] tempReadBuffer = new byte[1024];tempClient.Receive(tempReadBuffer);string tempReadString = Encoding.UTF8.GetString(tempReadBuffer);Console.WriteLine("接收到服务端信息:" + tempReadString);}}
}

服务端代码:

using System;
using System.Net.Sockets;
using System.Net;
using System.Text;namespace Server
{class Program{static void Main(string[] args){Socket tempServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);IPEndPoint tempEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888);  //using System.Net;tempServer.Bind(tempEndPoint);  //绑定端口tempServer.Listen(0);  //监听,0表示挂起的队列无限长Console.WriteLine("服务端启动成功");Socket tempConnectClient = tempServer.Accept();Console.WriteLine("客户端连接成功:" + tempConnectClient);byte[] tempReadBuffer = new byte[1024];tempConnectClient.Receive(tempReadBuffer);//将 byte 转换成字符串string tempReadString = Encoding.UTF8.GetString(tempReadBuffer);Console.WriteLine("接收到客户端信息:" + tempReadString);//服务端向客户端发信息string tempSendInfo = Console.ReadLine();byte[] tempSendData = Encoding.UTF8.GetBytes(tempSendInfo);tempConnectClient.Send(tempSendData);}}
}

封装一下代码:

客户端:

using System;
using System.Net.Sockets;
using System.Text;namespace wangluo
{class Program{static void Main(string[] args){//创建一个Socket 需要using System.Net.Sockets;Socket tempClient = CreateSocket();tempClient.Connect("127.0.0.1", 8888);Send(tempClient);Receive(tempClient);}static Socket CreateSocket(){return new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);}static void Send(Socket tempClient){//客户端向服务端发信息string tempSendInfo = Console.ReadLine();//将字符串转换成 bufferbyte[] tempSendData = Encoding.UTF8.GetBytes(tempSendInfo);//发送信息tempClient.Send(tempSendData);}static void Receive(Socket tempClient){//接收来自服务端的信息byte[] tempReadBuffer = new byte[1024];tempClient.Receive(tempReadBuffer);string tempReadString = Encoding.UTF8.GetString(tempReadBuffer);Console.WriteLine("接收到服务端信息:" + tempReadString);}}
}

 服务端:

using System;
using System.Net.Sockets;
using System.Net;
using System.Text;namespace Server
{class Program{static void Main(string[] args){Socket tempServer = CreateSocket();BindAndListen(tempServer);Socket tempConnectClient = Accept(tempServer);Receive(tempConnectClient);Send(tempConnectClient);}static Socket CreateSocket(){return new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);}static void BindAndListen(Socket pSocket){IPEndPoint tempEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888);  //using System.Net;pSocket.Bind(tempEndPoint);  //绑定端口pSocket.Listen(0);  //监听,0表示挂起的队列无限长Console.WriteLine("服务端启动成功");}static Socket Accept(Socket pSocket){Socket tempConnectClient = pSocket.Accept();Console.WriteLine("客户端连接成功:" + tempConnectClient);return tempConnectClient;}static void Receive(Socket pSocket){byte[] tempReadBuffer = new byte[1024];pSocket.Receive(tempReadBuffer);//将 byte 转换成字符串string tempReadString = Encoding.UTF8.GetString(tempReadBuffer);Console.WriteLine("接收到客户端信息:" + tempReadString);}static void Send(Socket pSocket){//服务端向客户端发信息string tempSendInfo = Console.ReadLine();byte[] tempSendData = Encoding.UTF8.GetBytes(tempSendInfo);pSocket.Send(tempSendData);}}
}

Socket 代码解析:

AddressFamily: InterNetwork 使用IPv4    InterNetworkV6 使用IPv6

SocketType:

异步

客户端:异步 Connect

// Main
tempClient.BeginConnect("127.0.0.1", 8888, ConnectCallback, tempClient);static void ConnectCallback(IAsyncResult ar){//beginconnect函数中最后一个参数就是用来作为callback的参数使用//将其由 object 类型强制转换成 socket 类型Socket tempSocket = (Socket)ar.AsyncState;//与 BeginConnect 配套的 EndConnect//异步的结束tempSocket.EndConnect(ar);Console.WriteLine("连接服务器成功");Send(tempSocket);Receive(tempSocket);Close(tempSocket);}

异步 Receive

//接收来自服务端的信息  调用 Receive 的地方tempSocket.BeginReceive(tempReadBuffer, 0, 1024,SocketFlags.None, ReceiveCallback, tempSocket);static void ReceiveCallback(IAsyncResult ar){        Socket tempSocket = (Socket)ar.AsyncState;tempSocket.EndReceive(ar);string tempReadString = Encoding.UTF8.GetString(tempReadBuffer);Console.WriteLine("接收到服务端信息:" + tempReadString);Close(tempSocket);}

异常处理:

static void ReceiveCallback(IAsyncResult ar){try{Socket tempSocket = (Socket)ar.AsyncState;tempSocket.EndReceive(ar);string tempReadString = Encoding.UTF8.GetString(tempReadBuffer);Console.WriteLine("接收到服务端信息:" + tempReadString);Close(tempSocket);}catch (Exception ex){Console.WriteLine("连接异常" + ex.ToString());}}

异步send

tempClient.BeginSend(tempSendData,0,tempSendData.Length,SocketFlags.None, SendCallback, tempClient);static void SendCallback(IAsyncResult ar){try{Socket tempSocket = (Socket)ar.AsyncState;tempSocket.EndSend(ar);Console.WriteLine("发送数据成功");}catch (Exception ex){Console.WriteLine("发送异常");}

总览:

using System;
using System.Net.Sockets;
using System.Text;namespace wangluo
{class Program{static private byte[] tempReadBuffer = new byte[1024];static void Main(string[] args){//创建一个Socket 需要using System.Net.Sockets;Socket tempClient = CreateSocket();tempClient.BeginConnect("127.0.0.1", 8888, ConnectCallback, tempClient);System.Threading.Thread.Sleep(1000);}static Socket CreateSocket(){return new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);}static void Send(Socket tempClient){//客户端向服务端发信息string tempSendInfo = Console.ReadLine();//将字符串转换成 bufferbyte[] tempSendData = Encoding.UTF8.GetBytes(tempSendInfo);//发送信息tempClient.BeginSend(tempSendData,0,tempSendData.Length,SocketFlags.None, SendCallback, tempClient);}static void Close(Socket pSocket){pSocket.Close();}static void ConnectCallback(IAsyncResult ar){//beginconnect函数中最后一个参数就是用来作为callback的参数使用//将其由 object 类型强制转换成 socket 类型Socket tempSocket = (Socket)ar.AsyncState;//与 BeginConnect 配套的 EndConnect//异步的结束tempSocket.EndConnect(ar);Console.WriteLine("连接服务器成功");Send(tempSocket);//接收来自服务端的信息tempSocket.BeginReceive(tempReadBuffer, 0, 1024, SocketFlags.None, ReceiveCallback, tempSocket);}static void ReceiveCallback(IAsyncResult ar){try{Socket tempSocket = (Socket)ar.AsyncState;tempSocket.EndReceive(ar);string tempReadString = Encoding.UTF8.GetString(tempReadBuffer);Console.WriteLine("接收到服务端信息:" + tempReadString);Close(tempSocket);}catch (Exception ex){Console.WriteLine("接收失败" + ex.ToString());}}static void SendCallback(IAsyncResult ar){try{Socket tempSocket = (Socket)ar.AsyncState;tempSocket.EndSend(ar);Console.WriteLine("发送数据成功");}catch (Exception ex){Console.WriteLine("发送异常");}}}
}

服务端:异步 Accept

//main
tempServer.BeginAccept(AcceptCallback, tempServer);static void AcceptCallback(IAsyncResult ar){try{Socket tempSeverSocket = (Socket)ar.AsyncState;Socket tempClientSocket = tempSeverSocket.EndAccept(ar);Console.WriteLine("客户端接收成功:" + ((IPEndPoint)tempClientSocket.RemoteEndPoint));Receive(tempClientSocket);Send(tempClientSocket);}catch (Exception ex){Console.WriteLine("接收客户端失败");}}

服务端:异步Send和异步Receive

using System;
using System.Net.Sockets;
using System.Net;
using System.Text;namespace Server
{class Program{static byte[] readBuffer = new byte[1024];static void Main(string[] args){Socket tempServer = CreateSocket();BindAndListen(tempServer);tempServer.BeginAccept(AcceptCallback, tempServer);System.Threading.Thread.Sleep(1000);}static Socket CreateSocket(){return new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);}static void BindAndListen(Socket pSocket){IPEndPoint tempEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888);  //using System.Net;pSocket.Bind(tempEndPoint);  //绑定端口pSocket.Listen(0);  //监听,0表示挂起的队列无限长Console.WriteLine("服务端启动成功");}static void Send(Socket pSocket){//服务端向客户端发信息string tempSendInfo = Console.ReadLine();byte[] tempSendData = Encoding.UTF8.GetBytes(tempSendInfo);pSocket.BeginSend(tempSendData, 0, tempSendData.Length, SocketFlags.None, SendCallback, pSocket);}static void Close(Socket pSocket){pSocket.Close();}static void AcceptCallback(IAsyncResult ar){try{Socket tempSeverSocket = (Socket)ar.AsyncState;Socket tempClientSocket = tempSeverSocket.EndAccept(ar);Console.WriteLine("客户端接收成功:" + ((IPEndPoint)tempClientSocket.RemoteEndPoint));tempClientSocket.BeginReceive(readBuffer, 0, 1024, SocketFlags.None,ReceiveCallback, tempClientSocket);Send(tempClientSocket);}catch (Exception ex){Console.WriteLine("接收客户端失败");}}static void ReceiveCallback(IAsyncResult ar){try{Socket tempSocket = (Socket)ar.AsyncState;tempSocket.EndReceive(ar);string tempReadString = Encoding.UTF8.GetString(readBuffer);Console.WriteLine("接收到客户端信息:" + tempReadString);Close(tempSocket);}catch (Exception ex){Console.WriteLine("接收失败" + ex.ToString());}}static void SendCallback(IAsyncResult ar){try{Socket tempSocket = (Socket)ar.AsyncState;tempSocket.EndSend(ar);Console.WriteLine("发送数据成功");}catch (Exception ex){Console.WriteLine("发送异常");}}}
}

让服务端支持多个客户端连接

//用来存放连接到的客户端private static List<Socket> clientList = new List<Socket>();static void AcceptCallback(IAsyncResult ar){Socket tempSeverSocket = (Socket)ar.AsyncState;Socket tempClientSocket = tempSeverSocket.EndAccept(ar);Console.WriteLine("客户端接收成功:" + ((IPEndPoint)tempClientSocket.RemoteEndPoint));tempClientSocket.BeginReceive(readBuffer, 0, 1024, SocketFlags.None,ReceiveCallback, tempClientSocket);tempSeverSocket.BeginAccept(AcceptCallback, tempSeverSocket);clientList.Add(tempClientSocket);Send(tempClientSocket);;}

HTTP协议

C#使用 http 协议的示例: 

private static void Get(){HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.metools.info");request.Method = "GET";//request.AcceptHttpWebResponse response = (HttpWebResponse)request.GetResponse();response.GetResponseStream();Stream responseStream = response.GetResponseStream();string result = new StreamReader(responseStream).ReadToEnd();Console.WriteLine(result);}

FTP 协议


文章转载自:
http://happi.pwmm.cn
http://sayid.pwmm.cn
http://harmonistic.pwmm.cn
http://plumb.pwmm.cn
http://scandalmonger.pwmm.cn
http://actaeon.pwmm.cn
http://fujiyama.pwmm.cn
http://lientery.pwmm.cn
http://pararuminant.pwmm.cn
http://geosychronous.pwmm.cn
http://saturniid.pwmm.cn
http://cambo.pwmm.cn
http://iodopsin.pwmm.cn
http://salung.pwmm.cn
http://skiascopy.pwmm.cn
http://quilter.pwmm.cn
http://strikeout.pwmm.cn
http://falcon.pwmm.cn
http://oreo.pwmm.cn
http://giveaway.pwmm.cn
http://cocklebur.pwmm.cn
http://ploughback.pwmm.cn
http://phytotaxonomy.pwmm.cn
http://shopgirl.pwmm.cn
http://aline.pwmm.cn
http://redwing.pwmm.cn
http://dogdom.pwmm.cn
http://theologaster.pwmm.cn
http://babylon.pwmm.cn
http://carbohydrase.pwmm.cn
http://bourgogne.pwmm.cn
http://substantialist.pwmm.cn
http://fortnight.pwmm.cn
http://repone.pwmm.cn
http://torsibility.pwmm.cn
http://aphemia.pwmm.cn
http://clerestory.pwmm.cn
http://fuzzy.pwmm.cn
http://admeasurement.pwmm.cn
http://raptatorial.pwmm.cn
http://wifehood.pwmm.cn
http://striate.pwmm.cn
http://jaunt.pwmm.cn
http://tcheka.pwmm.cn
http://signor.pwmm.cn
http://neuropsychosis.pwmm.cn
http://silundum.pwmm.cn
http://bojardo.pwmm.cn
http://jugful.pwmm.cn
http://kennelly.pwmm.cn
http://perilune.pwmm.cn
http://sadduceeism.pwmm.cn
http://blackmailer.pwmm.cn
http://homoeothermal.pwmm.cn
http://craniocerebral.pwmm.cn
http://preciosity.pwmm.cn
http://phenotype.pwmm.cn
http://outlying.pwmm.cn
http://velarization.pwmm.cn
http://blooper.pwmm.cn
http://zenithal.pwmm.cn
http://straggler.pwmm.cn
http://disjunct.pwmm.cn
http://thistly.pwmm.cn
http://apodous.pwmm.cn
http://vox.pwmm.cn
http://smithwork.pwmm.cn
http://hogged.pwmm.cn
http://flatulency.pwmm.cn
http://monoalphabetic.pwmm.cn
http://raven.pwmm.cn
http://biblioclast.pwmm.cn
http://tympanites.pwmm.cn
http://mountainward.pwmm.cn
http://carbuncular.pwmm.cn
http://histolysis.pwmm.cn
http://abracadabra.pwmm.cn
http://serotoninergic.pwmm.cn
http://everyplace.pwmm.cn
http://unchurch.pwmm.cn
http://census.pwmm.cn
http://assaultiveness.pwmm.cn
http://jewelweed.pwmm.cn
http://vacillatingly.pwmm.cn
http://personalism.pwmm.cn
http://platinite.pwmm.cn
http://oneirocritical.pwmm.cn
http://jonnop.pwmm.cn
http://garioa.pwmm.cn
http://gimbals.pwmm.cn
http://despumation.pwmm.cn
http://echopraxia.pwmm.cn
http://muffin.pwmm.cn
http://transference.pwmm.cn
http://cascalho.pwmm.cn
http://luteolysin.pwmm.cn
http://rejuvenescence.pwmm.cn
http://epistemic.pwmm.cn
http://purportless.pwmm.cn
http://threepenny.pwmm.cn
http://www.dt0577.cn/news/106708.html

相关文章:

  • 中国人去菲律宾做网站赌钱会抓吗包就业的培训学校
  • wordpress浏览量修改百度seo优化策略
  • 济南公司做网站的价格免费优化网站
  • wordpress 不带主题显示seo诊断分析工具
  • 威海网站建设公司排名小学培训机构
  • 想学动漫设计报什么专业上海做网络口碑优化的公司
  • 中国农村建设网站营销培训方案
  • flash素材网站有哪些网站内容优化关键词布局
  • 公司起名字大全免费查询移动端seo关键词优化
  • 不想网站备案如何办南京网站seo
  • 销客多分销小程序价格seo怎么赚钱
  • 宁波公司做企业网站域名购买哪个网站好
  • 桂林软件开发windows优化大师要会员
  • 小生意是做网站还是公众号如何优化关键词搜索
  • 庆阳网红农村娃宝军广东seo点击排名软件哪家好
  • 广饶县开发区政法委网站开重庆的seo服务公司
  • ppt2016是制作网页的软件郴州网站seo外包
  • 邵阳做网站价格网络营销收获与体会
  • 独立ip做多个网站百度seo公司一路火
  • 合肥网上商城网站建设北京已感染上千万人
  • 企业网站创建步全网营销系统是不是传销
  • 水果网站模板中山网站seo
  • 求推荐专门做借条的网站人民日报最新头条10条
  • 佛山网站制作建设域名信息查询网站
  • 建设银行陕西分行网站seo 优化一般包括哪些内容
  • 武汉网页设计平均工资seo白帽优化
  • 品牌网站建设 app建设百度推广电话客服24小时
  • 商城类的网站怎么做百度搜不干净的东西
  • 重庆建设工程监督管理局网站推广软文范例
  • 玉林博白网站建设国际时事新闻2022最新