第一范文网 - 专业文章范例文档资料分享平台

上海大学 计算机网络 实验报告

来源:用户分享 时间:2025/5/26 12:58:29 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

页眉 return; }

_client.BeginReceive(_receiveData, 0, _receiveData.Length, SocketFlags.None, new AsyncCallback(ReceivedData), _client);//密码正确,开始接收消息 }

void ProcessDisconnection() {

this.lblStatus.Text = \已断开连接!重新监听...\; lbConnectLog.Items.Insert(0, \已经断开连接\); this.btnDisconnect.Enabled = false; }

private void txtUserName_TextChanged(object sender, EventArgs e) { }

private void txtPassword_TextChanged(object sender, EventArgs e) { }

private void lblUserName_Click(object sender, EventArgs e) { }

private void gnConnectInfo_Enter(object sender, EventArgs e) { }

private void lbMessage_SelectedIndexChanged(object sender, EventArgs e) { }

private void lbNativeIP_SelectedIndexChanged(object sender, EventArgs e) { }

private void lbConnectLog_SelectedIndexChanged(object sender, EventArgs e)

13 / 22

页眉 { } } }

TCP客户端:

using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

using System.Threading.Tasks; using System.Windows.Forms; using System.Net;

using System.Net.Sockets; namespace TCP客户端 {

public partial class TcpClientForm : Form {

Socket _client;

byte[] _receivedData = new byte[1024]; public TcpClientForm() {

InitializeComponent(); }

private void btnConnect_Click(object sender, EventArgs e) {

14 / 22

页眉 this.lblStatus.Text = \连接中...\;

_client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//建立一个协议为TCP的socket

IPEndPoint iep = new IPEndPoint(IPAddress.Parse(this.txtIP.Text), 8000);//设置端口为8000 _client.BeginConnect(iep, new AsyncCallback(Connected), _client);//异步调用,开始连接服务端

this.btnConnect.Enabled = false; this.btnDisconnect.Enabled = true; }

private void btnDisconnect_Click(object sender, EventArgs e) {

_client.Close();

this.lblStatus.Text = \连接断开!\; this.btnConnect.Enabled = true; this.btnDisconnect.Enabled = false; }

private void btnSend_Click(object sender, EventArgs e) {

byte[] message = Encoding.Default.GetBytes(DateTime.Now.TimeOfDay + \ + this.txtMessage.Text);//将文本框里的东西整合成消息 txtMessage.Focus(); try {

_client.BeginSend(message, 0, message.Length, SocketFlags.None, new AsyncCallback(SentData), _client);//开始发送 txtMessage.Clear(); } catch {

ProcessDisconnection();

15 / 22

页眉 return; } }

void Connected(IAsyncResult iar) {

_client = (Socket)iar.AsyncState; try {

_client.EndConnect(iar);//关闭连接请求

this.lblStatus.Text = \连接到:\ + _client.RemoteEndPoint.ToString();

_client.BeginReceive(_receivedData, 0, _receivedData.Length, SocketFlags.None, new AsyncCallback(ReceivedData), _client);//异步调用,开始接收消息 } catch {

ProcessDisconnection(); return; } }

void ReceivedData(IAsyncResult iar) {

Socket remote = (Socket)iar.AsyncState; int recv; try {

recv = remote.EndReceive(iar); } catch {

ProcessDisconnection();

16 / 22

搜索更多关于: 上海大学 计算机网络 实验报告 的文档
上海大学 计算机网络 实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8xpve2suua7d82u9zjlx7yogl1itcy00ire_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top