当前位置: 首页 > wzjs >正文

网站该怎么找到如何引流被动加好友微信

网站该怎么找到,如何引流被动加好友微信,国产免费linux服务器,景区电子商务网站建设研究了下怎么使用Steam平台提供的方式实现网络通信。 以下是基础功能代码,MessageBase没有上传,后续研究透彻了会补充更新。 需要保证电脑上登录了Steam平台应用程序,目前先测试了获取自身SteamID,实现了自己的收发消息功能。 Ste…

研究了下怎么使用Steam平台提供的方式实现网络通信。
以下是基础功能代码,MessageBase没有上传,后续研究透彻了会补充更新。
需要保证电脑上登录了Steam平台应用程序,目前先测试了获取自身SteamID,实现了自己的收发消息功能。
Steamworks.NET

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Steamworks;public class SteamNetworkController : MonoBehaviour
{public static bool showLog = true;private CSteamID m_steamId;private Callback<P2PSessionRequest_t> m_P2PSessionRequest;private Callback<P2PSessionConnectFail_t> m_P2PSessionConnectFail;private Callback<SocketStatusCallback_t> m_SocketStatusCallback;//private Callback<P2PSessionState_t> m_P2PSessionState;private void Awake(){//初始化SteamAPISteamAPI.Init();}private void Start(){m_steamId = SteamUser.GetSteamID();Debug.Log("当前steamId=" + SteamUser.GetSteamID());//Debug.Log("当前登录用户名:" + SteamFriends.GetPersonaName());m_P2PSessionRequest = Callback<P2PSessionRequest_t>.Create(OnP2PSessionRequest);m_P2PSessionConnectFail = Callback<P2PSessionConnectFail_t>.Create(OnP2PSessionConnectFail);m_SocketStatusCallback = Callback<SocketStatusCallback_t>.Create(OnSocketStatusCallback);}private void Update(){if (Input.GetKeyDown(KeyCode.A)){//模拟发送消息SendP2PPacket(m_steamId, EMsgType.Content, "test");}//循环接收消息UpdateReadP2PPacket();}private void OnP2PSessionRequest(P2PSessionRequest_t pCallback){bool ret = SteamNetworking.AcceptP2PSessionWithUser(pCallback.m_steamIDRemote);m_steamId = pCallback.m_steamIDRemote;if (showLog) Debug.LogFormat("获取的用户ID结果={0} id={1}", ret, m_steamId.m_SteamID);}private void OnP2PSessionConnectFail(P2PSessionConnectFail_t pCallback){if (showLog) Debug.LogFormat("OnP2PSessionConnectFail steamIDRemote={0},error={1}", pCallback.m_steamIDRemote, pCallback.m_eP2PSessionError);}private void OnSocketStatusCallback(SocketStatusCallback_t pCallback){if (showLog) Debug.LogFormat("OnSocketStatusCallback steamIDRemote={0},socketState={1}", pCallback.m_steamIDRemote, pCallback.m_eSNetSocketState);}private void OnP2PSessionState(P2PSessionState_t pCallback){if (showLog) Debug.LogFormat("OnP2PSessionState connect={0},error={1}", pCallback.m_bConnecting, pCallback.m_eP2PSessionError);}/// <summary>/// 发送消息/// </summary>/// <param name="steamID"></param>/// <param name="msgType"></param>/// <param name="msg"></param>public static void SendP2PPacket(CSteamID steamID, EMsgType msgType, string msg){uint msgIndex = CreateMsgIndex();MessageBase messageBase = new MessageBase();byte[] bytes = messageBase.Combination(msgType, msgIndex, msg);SteamNetworking.SendP2PPacket(steamID, bytes, (uint)bytes.Length, EP2PSend.k_EP2PSendReliable);if (showLog) Debug.LogFormat("发送消息,index={0},type={1},msg={2},长度={3}", msgIndex, msgType.ToString(), msg,bytes.Length);}/// <summary>/// 接收消息/// </summary>public bool UpdateReadP2PPacket(){uint MsgSize;bool ret = SteamNetworking.IsP2PPacketAvailable(out MsgSize);if (MsgSize <= 0){return false;}byte[] bytes = new byte[MsgSize];uint newMsgSize;CSteamID SteamIdRemote;ret = SteamNetworking.ReadP2PPacket(bytes, MsgSize, out newMsgSize, out SteamIdRemote);if (ret){MessageBase messageBase = new MessageBase();messageBase.AnalysisMsg(bytes);ProcessMessage(messageBase, SteamIdRemote);if (showLog) Debug.LogFormat("接收的消息,steaId={0},length={1},index={2},type={3},msg={4}", SteamIdRemote, bytes.Length, messageBase.MsgIndex, messageBase.MsgType, messageBase.MsgContent);}return true;}/// <summary>/// 处理接收到的消息/// </summary>/// <param name="msgBase"></param>/// <param name="steamID"></param>private void ProcessMessage(MessageBase msgBase, CSteamID steamID){switch (msgBase.MsgType){case EMsgType.Heartbeat:break;case EMsgType.Content:break;case EMsgType.Chat:break;case EMsgType.Invite:break;case EMsgType.Step:break;case EMsgType.Rectify:break;case EMsgType.Wait:break;default:break;}}private static uint msgIndex = 0;private static uint CreateMsgIndex(){msgIndex++;return msgIndex;}private void OnDestroy(){// Just incase we have it open when we close/assemblies get reloaded.if (!m_steamId.IsValid()){SteamNetworking.CloseP2PSessionWithUser(m_steamId);}SteamAPI.Shutdown();}
}
http://www.dtcms.com/wzjs/102923.html

相关文章:

  • 公司做网站要注意什么seo网络推广排名
  • 香港人 网站备案哈尔滨企业网站模板建站
  • 国家发改委网站吉抚武温铁路建设如何在国外推广自己的网站
  • 汕头各类免费建站怎么提交百度收录
  • 怎么免费搭建网站百度不让访问危险网站怎么办
  • 怎么用dw做带登陆的网站最新新闻热点事件2023
  • 社区网站开发搜索引擎推广方案案例
  • 新闻网页设计模板谷歌seo查询
  • 邯郸疫情防控最新政策成都网站seo报价
  • 如何做电商网站分析报告抖音权重查询
  • 网站建设方案格式ciliba磁力搜索引擎
  • 韩语网站建设注意事项百度seo点击
  • 成都网站制作公司 dedecms广告软文外链平台
  • xly000.wordpress外贸seo建站
  • 江苏网站建设流程关键词搜索指数
  • 学做标书的网站搜索广告排名
  • 苍南网站建设shaokysem是做什么的
  • 建设好网站如何上传百度软文营销经典案例
  • 经营类网站备案百度首页广告
  • 求个网站没封的2021广州推动优化防控措施落地
  • b2c网站建设平台百度知道问答首页
  • 广州专业网站优化公司河北搜索引擎优化
  • 郑州做网站公司有哪些长沙关键词优化服务
  • 兼职做平面模特网站销售怎么做
  • 杭州做网站博客百度快照如何优化
  • 网站开发技术的发展流程怎么做公司网站推广
  • 绍兴建设网站世界足球排名前100
  • 如何做网站水晶头seo是什么意思啊
  • ecshop手机网站模板扬州seo博客
  • 做网站需准备些什么软件seoshanghai net