基于VS 的C#TCP/IP通信
写在前面的话:
本文是在vs
平台上使用C#
编写的tcp服务端与客户端
的局域网通信
,使用vs工具箱中的TextBox、ListBox、Button等组件编辑的Ui界面。与上一篇(QT C++ TCP通信调试助手) 用c++写的功能基本相同。上一篇链接
一 、vs中项目创建过程:
1. 步骤:
打开vs2019
-> 文件
->新建
-> 项目
->Windows 窗体应用(.NET Framework
)-> 下一步
-> 创建
2. UI界面的布局:
其中TabControl
组件中的Server
、Client
、Web
、选项卡分别代表Tcp服务端、Tcp客户端、WebBrowser的界面。
3. 最终的运行效果:
二、 项目代码结构
1、 Tcp Server端:
//----------------------------------- 服务器 -------------------------------------------------
Socket socket;
//服务器端的监听按钮对应的事件响应函数
private void server_monitor_button_Click(object sender, EventArgs e);
//监听客户端的新连接
void Listen1(object o);
//有新的连接后刷新显示
public delegate void D_my_dis(Socket socket);
public void My_Dis(Socket socket);
//接收客户端的消息后刷新显示
public delegate void D_rec_dis(Socket socket, string s);
public void rec_dis(Socket socket, string s);
//接收来自客户端的信息
void Recive(object o);
//获得网卡IPV4地址
public static List<string> Get_ip();
//服务端发送按钮对应的事件响应函数
private void server_send_button_Click(object sender, EventArgs e);
//服务端键盘响应事件
private void server_send_button_KeyUp(object sender, KeyEventArgs e);
//服务端刷新显示和客户端连接状态的时钟事件
private void timer1_Tick(object sender, EventArgs e);
//服务端键盘响应事件
private void server_send_button_KeyUp(object sender, KeyEventArgs e);
//------------------------------------- end --------------------------------------------------
2、 Tcp Client 端:
//------------------------------------- 客户端_start ------------------------------------------------
//客户端连接按钮对应的事件响应函数
private void client_connect_button_Click(object sender, EventArgs e);
//接收服务端发送的信息
void reciveMessages();
//断开连接后的刷新显示
public delegate void D_reciveDis(Socket socket);
public void reciveDis(Socket socket);
//接收服务端信息后的显示
public delegate void D_Recive(Socket socket, string s);
public void My_Recive(Socket socket, string s);
//客户端发送按钮对应的事件响应函数
private void client_send_button_Click(object sender, EventArgs e);
//客户端清理按钮对应的事件响应函数
private void client_clear_button_Click(object sender, EventArgs e);
//客户端键盘事件对应的响应函数
private void client_send_button_KeyUp(object sender, KeyEventArgs e);
//------------------------------------- 客户端_end------------------------------------------------
3、Web界面:
// web界面中button的响应函数
private void button1_Click_1(object sender, EventArgs e);
// web界面的textbox响应的键盘事件
private void url_textBox_KeyDown(object sender, KeyEventArgs e);
三、 总结
1、好了今天就写到到这了,最后附上源码的链接如下:
具体的实现过程源码
及编译好的应用程序
:项目源码
有趣的灵魂千里挑一!!!!