用C++建立客户端Socket,怎么用C#建立服务器端Socket进行通信,C++发数据,C#收数据。请给出示例代码。

用C++建立客户端Socket,怎么用C#建立服务器端Socket进行通信,C++发数据,C#收数据。请给出示例代码。,第1张

TcpListener进行监听就可以了。
using System;
using SystemIO;
using SystemNet;
using SystemNetSockets;
using SystemText;
class MyTcpListener
{
public static void Main()
{
TcpListener server=null;
try
{
// Set the TcpListener on port 13000
Int32 port = 8000;
IPAddress localAddr = IPAddressParse("127001");

// TcpListener server = new TcpListener(port);
server = new TcpListener(localAddr, port);
// Start listening for client requests
serverStart();

// Buffer for reading data
Byte[] bytes = new Byte[4096];
String data = null;
// Enter the listening loop
while(true)
{
ConsoleWrite("Waiting for a connection ");

// Perform a blocking call to accept requests
// You could also user serverAcceptSocket() here
TcpClient client = serverAcceptTcpClient();
ConsoleWriteLine("Connected!");
data = null;
// Get a stream object for reading and writing
NetworkStream stream = clientGetStream();
int i;
// Loop to receive all the data sent by the client
while((i = streamRead(bytes, 0, bytesLength))!=0)
{
// Translate data bytes to a ASCII string
data = SystemTextEncodingASCIIGetString(bytes, 0, i);
ConsoleWriteLine("Received: {0}", data);

// Process the data sent by the client
data = dataToUpper();
byte[] msg = SystemTextEncodingASCIIGetBytes(data);
// Send back a response
streamWrite(msg, 0, msgLength);
ConsoleWriteLine("Sent: {0}", data);
}

// Shutdown and end connection
clientClose();
}
}
catch(SocketException e)
{
ConsoleWriteLine("SocketException: {0}", e);
}
finally
{
// Stop listening for new clients
serverStop();
}
ConsoleWriteLine("\nHit enter to continue");
ConsoleRead();
}
}
当然,官方的这个示例是单线程的,一次只能处理一个客户端,你可以将accept到的client扔到一个独立的线程,这样就可以多客户端并发处理了。

在服务器的选择上很广,基本上,主流语言都有WebSocket的服务器端实现,而我们作为前端开发工程师,当然要选择现在比较火热的NodeJS作为我们的服务器端环境了。
NodeJS本身并没有原生的WebSocket支持,但是有第三方的实现(大家要是有兴趣的话,完全可以参考WebSocket协议来做自己的实现),我们选择了“ws”作为我们的服务器端实现。
由于本文的重点是讲解WebSocket,所以,对于NodeJS不做过多的介绍,不太熟悉的朋友可以去参考NodeJS入门指南(>编译的系统为Ubuntu 810 desktop x86
sudo apt-get install build-essential cmake libmysql++-dev subversion mercurial openssl libssl-dev zlib1g-dev libmysqlclient15-dev libtool mysql-client unrar
复制代码
然后添加一个系统用户trinity
adduser trinity
su – trinity
复制代码
在/home/trinity/下建立文件hgrc,内容为:
[extensions]
hgextmq=
复制代码
用HG获取源码:
hg clone dedecmscom
复制代码
建立编译目录:
mkdir /home/trinity/build dedecmscom
复制代码
开始编译
cd /home/trinity/579 织梦内容管理系统
cmake -DCMAKE_C_FLAGS="-O3 -pipe" -DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}" -DDO_RA=1 -DLARGE_CELL=1 -DPREFIX=/opt/trinity /home/trinity/trinitycore2 内容来自dedecms
make 本文来自织梦
make install
复制代码
编译好以后,就是弄数据库了。 copyright dedecms
现在trinity用户目录下建立一个文件夹tdb 本文来自织梦
然后从svn上获取数据库:
su - trinity
mkdir tdb
svn checkout /tdb
复制代码
首先,把Mysql Server下载下来:
sudo apt-get install mysqlserver
复制代码
在Mysql里建立数据库
cd /home/trinity/trinitycore-patches/sql
mysql -u root -p <create_mysqlsql
mysql -u trinity -p characters<characterssql
mysql -u trinity -p realmd<realmdsql copyright dedecms
复制代码
建立完毕以后,导入tdb:
cd /home/trinity/tdb/full_database/
unrar x TDB_002rar
mysql -u trinity -p world<TDB_002sql
复制代码
剩下的就所打数据库补丁了:
cd /home/trinity/trinitycore2/sql/updates
mysql -u trinity -p characters<(sql file)
mysql -u trinity -p world<(sql file)

SQL SERVER2012建立链式服务器错误代码7303是设置错误造成的,解决方法为:

1、点击右下角开始->所有程序->Microsoft SQL Server2012然后找到《配置工具》->《SQL Server 配置管理器》打开。

2、点击左边SQL Server 服务。

3、右击SQL Server (MSSQLSERVER)选择启动,或点击属性选择启动。

4、正在启动服务。

5、启动成功,关闭。

6、再次连接即可。

求生之路2创建网络服务器方法如下

该游戏联机需要具备以下条件:
1 请检查该游戏版本是否为2023
2 接着您需要一款浩方对战平台软件,如果没有的话,去网上下载个最新版本浩方;
3 具备以上2个条件后,那么便为您介绍具体联机方法:
下载完浩方对战平台并且注册账号后,登录平台,点击‘竞技’——‘求生之路L4D/L4D2’,然后根据您的网络情况来选择‘电信’、‘网通’或其他网络,如下图所示:

之后再选择一个房间,双击进入,便会看到如下界面:

然后点击上图中的‘设置’按钮,来选择运行文件,如下图所示:

在上图中,选择好对应的游戏,然后点击‘浏览’按钮找到您电脑上求生之路2游戏安装目录文件夹下的‘left4dead2exe’文件,选中之后,点击‘应用’——‘确定’,如下图所示:

然后在点击‘开始’按钮,如下图红色方框所选中的按钮:

然后您可进入游戏主界面,如下图所示:

在上图界面中,点击‘Steam’组服务器按钮,然后便可看到玩家所创建的服务器如下界面:

如上图所示然后选择一个房间后,点击加入游戏即可,之后便可加入浩方网友没所创建的求生之路2游戏中,与他们并肩作战了:

如果您想自己创建房间,那么请在游戏主界面处,按下‘~’打开控制台,然后输入‘map ’(不要漏掉map后面的额空格键)
然后便可看到地图选项,接着选中一个地图然后按下回车,即可创建房间,然后等待其他求生之路2玩家的加入吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13485673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-16
下一篇 2023-08-16

发表评论

登录后才能评论

评论列表(0条)

保存