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

深圳华宫建设集团网站企业商城网站多少钱

深圳华宫建设集团网站,企业商城网站多少钱,苏州网站建设 牛,国内房地产设计网站建设TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它广泛应用于互联网中的数据通信,如网页浏览、文件传输、电子邮件等。以下是TCP通信的基本概念和工作原理: 1. TCP的特点 面向连接:通信前…

     TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它广泛应用于互联网中的数据通信,如网页浏览、文件传输、电子邮件等。以下是TCP通信的基本概念和工作原理:

1. TCP的特点

面向连接:通信前需建立连接,通信结束后释放连接。

可靠性:通过确认、重传、校验等机制确保数据准确无误地传输。

有序性:数据按发送顺序到达接收方。

流量控制:通过滑动窗口机制防止接收方被发送方的数据淹没。

拥塞控制:通过拥塞窗口和算法避免网络拥塞。

2. TCP通信的基本流程

  1. )建立连接(三次握手):

    • SYN:客户端发送SYN报文(SYN=1,seq=x)请求连接。

    • SYN-ACK:服务器回复SYN-ACK报文(SYN=1,ACK=1,seq=y,ack=x+1)。

    • ACK:客户端发送ACK报文(ACK=1,seq=x+1,ack=y+1)确认连接。

  2. )数据传输:

    • 连接建立后,双方通过发送和接收数据包进行通信。

    • 每个数据包都有序列号和确认号,确保数据有序且可靠。

  3. )断开连接(四次挥手):

    • FIN:一方发送FIN报文(FIN=1,seq=u)请求关闭连接。

    • ACK:另一方回复ACK报文(ACK=1,seq=v,ack=u+1)确认关闭请求。

    • FIN:另一方发送FIN报文(FIN=1,seq=w,ack=u+1)请求关闭连接。

    • ACK:一方回复ACK报文(ACK=1,seq=u+1,ack=w+1)确认关闭请求。

3. TCP报文结构

TCP报文包括以下字段:

源端口和目的端口:标识通信的应用程序。

序列号(Sequence Number):标识数据字节流的顺序。

确认号(Acknowledgment Number):期望收到的下一个字节的序列号。

数据偏移:TCP头部的长度。

控制位:如SYN、ACK、FIN等,用于控制连接状态。

窗口大小:用于流量控制。

校验和:用于错误检测。

紧急指针:标识紧急数据的位置。

4. TCP的应用场景

HTTP/HTTPS:网页浏览。

FTP:文件传输。

SMTP/POP3/IMAP:电子邮件。

SSH:远程登录。

数据库连接:如MySQL、PostgreSQL等。

5. TCP与UDP的区别

TCP:可靠、面向连接、有序,适合对可靠性要求高的场景。

UDP:不可靠、无连接、无序,适合对实时性要求高的场景,如视频流、在线游戏。

6. TCP的优缺点

优点:可靠性高,数据有序,适合长连接和大量数据传输。

缺点:建立和断开连接开销大,实时性较差。

主窗口UI

TCP窗口

调试助手

TCP与网络助手之间的通讯

网络助手发送消息在主窗口与TCP窗口同时显示

主窗口与网络助手之间的通讯

TCP窗口

1,创建字段及委托

public Socket socket = null;
public delegate void SetText(string text);//本窗口跨线程委托
public Tcp_ServerRevStr tcp_ServerRevStr;//其他窗口跨线程委托

2,创建及连接

socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//实例化Socket
IPAddress iPAddress = IPAddress.Parse("127.0.0.1");//定义要连接的IP
int port = 502;//默认Port 端口  接口
IPEndPoint iPEnd = new IPEndPoint(iPAddress, port);
try
{socket.Connect(iPEnd);//链接Socket
}
catch (Exception ex)
{MessageBox.Show("链接失败"+ex.Message);
}
Thread th = new Thread(ReceiveDate);//另开线程接受消息
th.IsBackground = true;//后台线程
th.Start();//开启

3,显示消息

//防止跨线程给界面赋值出错
if (this.RcvText.InvokeRequired)//先判断是否需要委托
{SetText st = new SetText(ShowText);this.Invoke(st, new object[] { text });
}
else
{this.RcvText.Text = text;
}

4,接收消息

while (true)
{byte[] resBuffer = new byte[1024 * 2];//生命最大字符内存int length = -1;//字节长度try{length = socket.Receive(resBuffer);}catch (SocketException ex){break;}catch (Exception ex){MessageBox.Show("与服务器断开:" + ex.Message);}if (length > 0)//接收消息{try{string msg = Encoding.Default.GetString(resBuffer);ShowText(msg);tcp_ServerRevStr(msg);//其他窗口跨线程委托调用}catch (Exception ex){MessageBox.Show(ex.Message);}}}

5,发送消息

public void sendMessage(string text)
{try{byte[] buffer = Encoding.Default.GetBytes(text);socket.Send(buffer);//发送数据}catch (Exception ex){MessageBox.Show(ex.Message);}
}

FormMain窗口

1,委托

 public delegate void Tcp_ServerRevStr(string msg1);//服务端委托

2,实例化窗口

 FormTcpService formTcp = new FormTcpService();//实例化TCP窗口

3,加载窗口

  private void button1_Click(object sender, EventArgs e){formTcp.Show();formTcp.tcp_ServerRevStr   += tcpClientReceviceStr;}

4,接受并显示消息

private void tcpClientReceviceStr(string msg)
{//跨线程接受消息Action action;action = delegate(){textBox1.Text = msg;};this.Invoke(action);
}

5,发送消息

private void btn_senMessage_Click(object sender, EventArgs e)
{formTcp.sendMessage(this.textBox2.Text);
}


文章转载自:

http://sttYTsbp.knqzd.cn
http://r2Ae5ah8.knqzd.cn
http://jgz3EqR4.knqzd.cn
http://bsfYKS1R.knqzd.cn
http://DNChlLaA.knqzd.cn
http://Ss4ilWfQ.knqzd.cn
http://zeofQbpQ.knqzd.cn
http://e7sAJzWr.knqzd.cn
http://4k1dKuw1.knqzd.cn
http://NTyqhKQA.knqzd.cn
http://IdLrS0Nt.knqzd.cn
http://xZ0KTpxt.knqzd.cn
http://1F8FPRLX.knqzd.cn
http://zfrIvl1c.knqzd.cn
http://hhndRDCf.knqzd.cn
http://ZdWcjLoP.knqzd.cn
http://SlIpG8kw.knqzd.cn
http://5wBAoTUV.knqzd.cn
http://k86j81da.knqzd.cn
http://Nz1It1b8.knqzd.cn
http://mZsjqtkE.knqzd.cn
http://qohzXbus.knqzd.cn
http://dwu2nI3e.knqzd.cn
http://sPDFQRzL.knqzd.cn
http://2CkhNL3h.knqzd.cn
http://U9dyqmxL.knqzd.cn
http://xQPrwGGg.knqzd.cn
http://A1Yb4L2Q.knqzd.cn
http://AuxVWRXN.knqzd.cn
http://9JnPxm6m.knqzd.cn
http://www.dtcms.com/wzjs/612876.html

相关文章:

  • 网站设计与程序方向iis7.5 添加网站
  • 我国旅游网站的建设开发一个软件的流程
  • 网站建设济南云畅网络技术有限公司河北建设厅网站电话
  • 武鸣网站建设购物网站的开发
  • 衙门口网站建设建e网室内设计网官网榻榻米衣柜官方
  • 江苏省建设工程竣工备案网站什么网站可以做特价活动
  • 洪宇建设集团公司网站中山网站设计公司
  • 沈阳 教育 公司 网站建设国外优秀网站
  • 沈阳网站建设公司哪家好wordpress 用户留言
  • 网站建设教育企业网站模板免费下载
  • 建设网站多少钱 郑州电信开放81端口怎样做网站
  • 伍佰亿网站推广网站开发 估算 excel
  • 做国外衣服的网站有哪些深圳禅城网站设计
  • 中山市企业网站建设推广营销企业
  • 设计师品牌 网站index of wordpress
  • 网站手机端跳转页面模板2019河北省建设厅检测员报名网站
  • 贵州建设监理协会网站windows优化大师
  • 网站如何做百度推广个人未授权做的网站
  • 百度站长工具域名查询wordpress本地搬家
  • 重庆平台网站建设找哪家欧洲十大服务器的推荐
  • 网站设计培训班做暧免费观看网站
  • 免费的网站登录模板下载网站你懂我意思正能量app
  • 宽带动态ip如何做网站访问坪地网站建设价位
  • 前端作业做一个网站什么是精准营销
  • 网站页面设计基础教程小型公司局域网怎么建立
  • 做二手的网站有哪些松原市新闻
  • 如何进行网站维护哈尔滨网络公司
  • 中学网站模板搜索引擎推广的优势
  • 做网站怎么找客户建设小学网站
  • 做杂志的模板下载网站最好的文件管理软件