当前位置:   article > 正文

C#创建TCP/IP服务端和客户端,含测试demo及源码_c#tcp/ip客户端程序下载

c#tcp/ip客户端程序下载

网上的TCP/IP创建服务端和客户端的方法鱼龙混杂,自己把在使用项目中的TCP服务端和客户端的代码抽了出来,做了demo,以供大家使用参考。

为了方便调用,我把一些基础方法都整合封装到了Reader.dll中,直接调用方法即可,非常方便(伸手党直接下源码运行即可)

源码下载地址:https://download.csdn.net/download/horseroll/10444188

无积分付费下载地址:https://download.csdn.net/download/HorseRoll/21113276

源码中包含dll文件,直接下载源码即可

dll文件下载地址:https://download.csdn.net/download/horseroll/10444167

无积分付费下载地址:https://download.csdn.net/download/HorseRoll/21113250

源码程序运行使用方法:先打开服务端,再打开客户端,然后即可互相发送信息

效果图:

1.客户端编写

客户端连接方法使用readerCamera.ConnectServer方法,监听事件为ReceiveDataCamera,发送信息为readerCamera.ServerSendMessage方法

  1. public partial class Client : Form
  2. {
  3. private Reader.ReaderMethod readerCamera;//摄像头采集类
  4. public Client()
  5. {
  6. InitializeComponent();
  7. //初始化访问实例
  8. readerCamera = new Reader.ReaderMethod();
  9. //回调函数
  10. readerCamera.ReceiveCallback = ReceiveDataCamera;
  11. }
  12. private void btnopenclient_Click(object sender, EventArgs e)
  13. {
  14. string strLog = string.Empty;
  15. string strException = string.Empty;
  16. IPAddress ipAddress = IPAddress.Parse("127.0.0.1");//监听的ip地址
  17. int nPort = 55;//监听的端口号
  18. int nRet = readerCamera.ConnectServer(ipAddress, nPort, out strException);
  19. if (nRet != 0)//如果连接摄像头失败
  20. {
  21. strLog = "连接摄像头失败,请确认是否已打开服务端,失败原因: " + strException;
  22. }
  23. else
  24. {
  25. strLog = "成功连接摄像头"+ipAddress+":"+nPort;
  26. }
  27. WriteLog(richTextBox1, strLog);
  28. }
  29. /// <summary>
  30. /// 客户端接收数据
  31. /// </summary>
  32. /// <param name="btAryReceiveData"></param>
  33. private void ReceiveDataCamera(byte[] btAryReceiveData)
  34. {
  35. string str = System.Text.Encoding.Default.GetString(btAryReceiveData);//数据接收转string
  36. //richTextBox1.AppendText("接收到数据:" + str);直接调用该方法会出现跨线程调用问题
  37. WriteLog(richTextBox1, "接收到数据:" + str);
  38. }
  39. private void btnclientsend_Click(object sender, EventArgs e)//发送数据
  40. {
  41. readerCamera.ServerSendMessage(System.Text.Encoding.Default.GetBytes(tbclient.Text));//发送数据
  42. }
  43. }

2.服务端编写

服务端连接方法使用readerCameraOpenServer方法,监听事件为ReceiveDataCamera,发送信息为readerCamera.ServerSendMessage方法

  1. public partial class Server : Form
  2. {
  3. private Reader.ReaderMethod readerCamera;//摄像头采集
  4. public Server()
  5. {
  6. InitializeComponent();
  7. Client client = new Client();
  8. client.Show();
  9. //初始化访问读写器实例
  10. readerCamera = new Reader.ReaderMethod();
  11. //回调函数
  12. readerCamera.ReceiveCallback = ReceiveDataCamera;
  13. }
  14. private void btnopenserver_Click(object sender, EventArgs e)
  15. {
  16. readerCamera.OpenServer(55);//打开服务端,监听端口55
  17. WriteLog(richTextBox1,"打开端口55成功");//点击事件中调用该写入方法不会报错
  18. }
  19. /// <summary>
  20. /// 服务器接收数据
  21. /// </summary>
  22. /// <param name="btAryReceiveData"></param>
  23. private void ReceiveDataCamera(byte[] btAryReceiveData)
  24. {
  25. string str = System.Text.Encoding.Default.GetString(btAryReceiveData);//数据接收转string
  26. //richTextBox1.AppendText("接收到数据:" + str);直接调用该方法会出现跨线程调用问题
  27. WriteLog(richTextBox1,"接收到数据:" + str);
  28. }
  29. /// <summary>
  30. /// 发消息
  31. /// </summary>
  32. /// <param name="sender"></param>
  33. /// <param name="e"></param>
  34. private void btnserversend_Click(object sender, EventArgs e)
  35. {
  36. readerCamera.ServerSendMessage(System.Text.Encoding.Default.GetBytes(tbserver.Text));//发送数据
  37. }
  38. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/158753
推荐阅读
相关标签
  

闽ICP备14008679号