多语言展示
当前在线:421今日阅读:97今日分享:45

C#应用 - 简单的网络编程

在此处做个简易的基于C#的网络通讯应用。
工具/原料

C#、visual studio 2015

简易布局
1

新建一个窗体工程,布置两个按钮,分别开启“服务器”和“客户端”。

2

分别新建“服务器窗体”和”客户端窗体“,可通过在“Program.cs”文件中的main函数中修改“ Application.Run();”的Run的传入的窗体,启动不同界面。

新建简易服务器
1

界面布局:配置服务器本地IP以及端口,以及接受到的消息。此处服务器收到消息后,自动回复信息。

2

点击“开启”监听后,新建套接字(地址族、套接字类型、协议),再Bind(绑定)IP以及端口,开启Listen监听即可。

3

开启监听后,新建一个监听线程。“connfd = listenfd.Accept();”中Accept可以阻塞线程,每连接一个客户端,执行一个,即新建一条通讯线程。

4

在通讯线程中,每“Receive()”接收到信息,将此信息追加到“serv echo:”后,发送给该客户端。完成一次通讯。

新建简易客户端
1

界面布局:需要服务器IP以及端口输入、允许发送信息、允许显示接收信息

2

点击“开启按钮后”,完成socket对象的配置,并“client.Connect(ipEp);”尝试连接服务器。

3

连接服务器成功后,开启客户端接收线程。循环接收信息,由于“client.Receive(arrRecvmsg);”堵塞线程,只在接收到信息时往下执行。

4

测试此客户端能否正常运行,点击“发送”。

5

使用测试服务器测试如下。

主窗体调用
1

在“Program.cs”中启用主窗体“Application.Run(new Form1());”

2

在主界面“服务器”“客户端”触发按钮点击事件,生成对应窗体。

3

运行效果如图:在内部网中可正常运行。

注意事项
1

开启多线程,注意线程循环。

2

点击打开窗体时,注意多开问题。此处需要进一步优化!

推荐信息