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

本文目录
用C++建立客户端Socket,怎么用C#建立服务器端Socket进行通信,C++发数据,C#收数据请给出示例代码
TcpListener进行监听就可以了。
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
class MyTcpListener
{
public static void Main()
{
TcpListener server=null;
try
{
// Set the TcpListener on port 13000.
Int32 port = 8000;
IPAddress localAddr = IPAddress.Parse("127.0.0.1");
// TcpListener server = new TcpListener(port);
server = new TcpListener(localAddr, port);
// Start listening for client requests.
server.Start();
// Buffer for reading data
Byte;
String data = null;
// Enter the listening loop.
while(true)
{
Console.Write("Waiting for a connection... ");
// Perform a blocking call to accept requests.
// You could also user server.AcceptSocket() here.
TcpClient client = server.AcceptTcpClient();
Console.WriteLine("Connected!");
data = null;
// Get a stream object for reading and writing
NetworkStream stream = client.GetStream();
int i;
// Loop to receive all the data sent by the client.
while((i = stream.Read(bytes, 0, bytes.Length))!=0)
{
// Translate data bytes to a ASCII string.
data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
Console.WriteLine("Received: {0}", data);
// Process the data sent by the client.
data = data.ToUpper();
byte msg = System.Text.Encoding.ASCII.GetBytes(data);
// Send back a response.
stream.Write(msg, 0, msg.Length);
Console.WriteLine("Sent: {0}", data);
}
// Shutdown and end connection
client.Close();
}
}
catch(SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
finally
{
// Stop listening for new clients.
server.Stop();
}
Console.WriteLine("\nHit enter to continue...");
Console.Read();
}
}
当然,官方的这个示例是单线程的,一次只能处理一个客户端,你可以将accept到的client扔到一个独立的线程,这样就可以多客户端并发处理了。
C 语言socket 的send数据太大,最大能发送多少如何分批发送
是这样,如果是UDP传输,一般就是1500左右。如果是TCP大小不一定,比如你要传10000,有可能一次传的量是小于10000的任意量。
为了解决这个问题,我建议你用阻塞的SOCKET ,TCP传输,用一个循环接收一个大数据包,每次接到多少字节就将内存下表移动多少,在下次循环中继续接受,直到传完一个整包。

更多文章:
人工智能大作业python(人工智能中的python怎么样呀)
2026年4月14日 18:30
做动画ae好还是animate好(动态logo 用ae和an哪个做更好,有什么区别)
2025年9月27日 03:00
distinctly同义词(distinctly是什么意思)
2025年7月19日 00:00
为什么需要fork函数(在什么情况下会用到linux系统中fork()函数,请举例说明)
2026年1月15日 10:15
socket编程linux(在Linux系统下编写一个socket程序)
2025年6月28日 17:45
reply的形容词(Looking forward to your immediately reply是不是有问题)
2026年9月20日 17:45
php执行过程(用PHP编写的一行行代码 是怎么在服务器端运行的)
2025年10月29日 14:15
韩国明星死亡大全排行榜(2021年去世的八位明星)?孙侨潞是单亲家庭吗
2025年7月8日 20:30
做pr视频的视频素材去哪下载?请问,哪里有免费的premiere素材下载,也就是常说的Pr素材,求广大的网友给个网站ԅ
2026年2月18日 15:30














