源码地址:SuperSocket入门,实现客户端和服务端消息互发_supersocket客户端实现,supersocket客户端-C#代码类资源-CSDN下载

运行出来效果如下:

服务端:

客户端:

第一步,使用SuperSocket创建一个服务端

a.引入需要dll文件,由于supersocket使用到了log4,所以在这儿也需要引用log4net.dll

添加项目引用即可

b.创建一个server

在Program.cs中 设置程序运行的窗体,在窗体的load事件中启动socket服务。

code:

/// <summary>
        /// 窗体初始化加载,启动socket服务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load(object sender, EventArgs e)
        {

//配置
            ServerConfig serverConfig = new ServerConfig();
            serverConfig.Port = 8080;//端口号
            serverConfig.Mode = SocketMode.Tcp;//设置为tcp服务器

//设置服务配置
            if (!appServer.Setup(serverConfig))
            {
                System.Windows.Forms.MessageBox.Show("开启服务器失败");
                return;
            }

//启动服务
            if (!appServer.Start())
            {
                System.Windows.Forms.MessageBox.Show("开启服务器失败");
                return;
            }

//注册监听事件

appServer.NewSessionConnected += AppServer_NewSessionConnected; //新的客户端连接事件
            appServer.NewRequestReceived += AppServer_NewRequestReceived;//接收到客户端消息事件
            appServer.SessionClosed += AppServer_SessionClosed;//连接关闭触发事件
        }

到此,就启动了一个简单的tcp socket 服务,接下来,启动一个客户端进行连接

code:

//客户端对象

AsyncTcpSession tcpClient = null;

/// <summary>
        /// 连接服务器
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {

string ipAddress = this.ipTextBox.Text.ToString();
            string port = this.portTextBox.Text.ToString();
            tcpClient = new AsyncTcpSession(new IPEndPoint(IPAddress.Parse(ipAddress), int.Parse(port)));
            tcpClient.Connect();
            tcpClient.DataReceived += TcpClient_DataReceived;
            tcpClient.Error += TcpClient_Error;
            tcpClient.Closed += TcpClient_Closed;
        }

客户端连接成功,给服务器发送消息

if (tcpClient != null)
  {

if (tcpClient.IsConnected)

{

string message = this.sendMessageTextBox.Text.ToString() + "\r\n";
                        byte[] data = Encoding.UTF8.GetBytes(message);
                        tcpClient.Send(data, 0, data.Length);

}

至此,就完成了服务器和客户端的简单搭建,刚入c#大法,也是第一次写文章,希望大家多多指点。

源码链接:http://download.csdn.net/download/weixin_35196633/10151210

SuperSocket 入门,实现客户端和服务端消息互发相关推荐

  1. 虚拟服务器安装ibm mq,IBM MQ 客户端查看服务端消息的工具 WMQTool

    大家好,由于时间问题,好长时间没有写博客了,表示歉意,今后有时间,会把自己的工作经验分享给大家! 最近一直在调试关于IBM MQ的接口,把相关的工作经验分享给大家, 首先说一下前提: IBM MQ S ...

  2. Netty实战 IM即时通讯系统(六)实战: 客户端和服务端双向通信

    ## Netty实战 IM即时通讯系统(六)实战: 客户端和服务端双向通信 零. 目录 IM系统简介 Netty 简介 Netty 环境配置 服务端启动流程 实战: 客户端和服务端双向通信 数据传输载 ...

  3. Netty实战 IM即时通讯系统(十)实现客户端和服务端收发消息

    Netty实战 IM即时通讯系统(十)实现客户端和服务端收发消息 零. 目录 IM系统简介 Netty 简介 Netty 环境配置 服务端启动流程 客户端启动流程 实战: 客户端和服务端双向通信 数据 ...

  4. java服务器向客户端发消息_java一个简单的客户端向服务端发送消息

    java一个简单的客户端向服务端发送消息 客户端代码: package com.chenghu.tcpip; import java.io.IOException; import java.io.Ou ...

  5. JAVA 网络编程 Socket 详细说明,实现客户端和服务端相互推送消息

    客户端代码: package com.lcx.socket;import java.io.BufferedReader; import java.io.BufferedWriter; import j ...

  6. Netty简单实现客户端与服务端收发消息

    Netty简单实现客户端与服务端收发消息 这个小案例主要是实现netty收发消息,分为客户端,及服务端,以及包含了相关状态处理,主要的代码会放在最后 gitHub 地址上,有需要可以看一下 首先来简单 ...

  7. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  8. RPC 笔记(03)— gRPC 概念、安装、编译、客户端和服务端示例

    1. gRPC 概念 gRPC 是 Google 开源的一款高性能的 RPC 框架.GitHub 上介绍如下: gRPC is a modern, open source, high-performa ...

  9. python中使用socket编程实现带有界面的客户端向服务端发送文件和下载文件

    一主界面: **二:发送文件界面:**首先需要开启发送文件服务端(这里需要注意的是每一次发送文件之前都需要开启一次服务端,因为我在这里将每一次发送文件之后就关闭了客户端和服务端之间的连接) 输出相关客 ...

最新文章

  1. c# winforms TextBox的记忆功能
  2. 桶排序python实现
  3. Linux服务器安装NodeJs简易方法
  4. c 和php 加密,加载由blenc加密的页面时出错(C和PHP代码)
  5. 远离你身边消极爱抱怨的人!!
  6. wind试用版 matlab,免费产品试用 - MATLAB Simulink
  7. Mysql对用户操作加审计功能——高级版
  8. [Linux] Linux常用网站
  9. rac备份及恢复的重要概念之一——Redo Threads和Streams
  10. TP框架打印输出原生sql语句
  11. python用tkinter做简易计算器_基于python tkinter的简单计算器(v1.0)
  12. 工业相机和镜头主要参数解释
  13. ES报错处理-mapper [xx.xx] of different type, current_type [text], merged_type [keyword]
  14. 利用Linux的crontab实现定时执行python任务
  15. Linux下串口编制【转】
  16. TPshop项目-功能测试(1)
  17. [学习SLAM]VINS中IMU预积分的误差推到公式与代码雅克比(协防差/信息矩阵)构建
  18. C++ 调用 Python 代码 - Clion QT混合编程 ,各取长处。
  19. 网页中链接中图片的下载
  20. RGB24 To Yuv420 C语言 +汇编实现(windows平台)

热门文章

  1. 打开新世界的大门——初识c语言
  2. SOP是什么?SOP的作用是什么?如何编写SOP?
  3. shell脚本传递参数的方法
  4. STM32使用ADC+DMA进行多通道模拟量采集 (踩坑及傻瓜式解析)
  5. 差分方程模型(一):模型介绍与Z变换
  6. 华为鲲鹏HCIA-Kunpeng Application Developer V1.5考试样题
  7. 论文Pyramid Attention Network for Semantic Segmentation笔记
  8. 关键词优化外包陷阱,你中招了吗?
  9. 九龙证券|又3个涨停,退市风险急升!
  10. NOIP2012 国王游戏 题解