相关文章推荐
可爱的南瓜  ·  使用Powershell ...·  1 月前    · 
博学的紫菜  ·  实现Dask ...·  1 年前    · 
有胆有识的斑马  ·  node.js - return ...·  1 年前    · 

using System;
using System.Net;
using System.Net.Sockets;

namespace TY.Net
{
/// <summary>
/// 封装有关创建到 Internet 的 TCP 和 UDP 连接的详细信息。
/// </summary>
public class SocketsT
{
/// <summary>
/// 委托 收到信息时执行的委托
/// </summary>
/// <param name="mes"></param>
public delegate void ShowMessage(string mes);
/// <summary>
/// 事件 收到信息时执行的事件
/// </summary>
public event ShowMessage ShowMes;

/// <summary>
/// TCP侦听端口
/// </summary>
/// <param name="port">端口</param>
/// <param name="serverIP">目标IP</param>
public void tcpGetString(string serverIP, int port)
{
TcpListener server = null;

try
{
// Set the TcpListener on port 13000.
IPAddress localAddr = IPAddress.Parse(serverIP);

// TcpListener server = new TcpListener(port);
server = new TcpListener(localAddr, port);

// Start listening for client requests.
server.Start();

// Buffer for reading data
Byte[] bytes = new Byte[256];
String data = null;

// Enter the listening loop.
while (true)
{
// Perform a blocking call to accept requests.
// You could also user server.AcceptSocket() here.
TcpClient client = server.AcceptTcpClient();
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.UTF8.GetString(bytes, 0, i);
showMess(data);
}

// Shutdown and end connection
client.Close();
}

}
catch (SocketException e)
{
showMess(string.Format("SocketException: {0}", e));
}
finally
{
// Stop listening for new clients.
server.Stop();
}
}

/// <summary>
/// 请重写ShowMes事件 详细看说明
/// </summary>
/// <param name="data">接收到的信息或错误信息</param>
private void showMess(String data)
{
if (ShowMes != null)
{
ShowMes(data);
}
}

/// <summary>
/// 发送连接
/// 支持中文
/// </summary>
/// <param name="serverIP">目标IP</param>
/// <param name="message">发送信息</param>
/// <param name="port">目标端口</param>
public static void tcpSendText(String serverIP, String message, int port)
{
TcpClient client = new TcpClient(serverIP, port);

// Translate the passed message into ASCII and store it as a Byte array.
Byte[] data = System.Text.Encoding.UTF8.GetBytes(message);

// Get a client stream for reading and writing.
// Stream stream = client.GetStream();

NetworkStream stream = client.GetStream();

// Send the message to the connected TcpServer.
stream.Write(data, 0, data.Length);
stream.Close();
client.Close();
}
}
}
// 使用的端口,请开启防火墙

// 并注意在窗体的线程处理

// 命令行下则不用

TcpListener 和TcpClient类是对Socket的进一步封装,为基于TCP协议的网络通信提供更加便捷的调用方式。 TcpListener 在服务器负责监听和接受客户端的连接请求,TcpClient类提供一系列可用于TCP网络通信的API,是以流的方式来读写数据的,调用Get Stream 的方法会发挥一个Network Stream 实例,即可 发送 接收数据 C# 的TcpListe C# 网络编程(同步传输字符串) - Part.2<!-- google_ad_client = "pub-0711576186430396"; /* 250x250, 创建于 08-4-1 */ google_ad_slot = "1772391063"; google_ad_width = 250; google_ad_height = 250; //--> 服务器端的步骤如下。 (1)建立服务器端的Socket,开始侦听整个网络中的连接请求。 (2)当检测到来自客户端的连接请求时,向客户端 发送 收到连接请求的信息,并建立与客户端之间的连接。 (3)当完成通信后,服务器关闭与客户端的Socket连接。 客户端的步骤如下。 (1)建立客户端的Socket,确定要连接的服务器的主... TcpListener 和TcpClient类为一组,用作客户端和服务器 跳转门套接字网络编程TcpClienthttps://blog.csdn.net/qq_44708426/article/details/120253834 TcpListener 类用来侦听来自TCP网络客户端的连接。可 使用 TcpClient或Socket来连接 TcpListener 使用 IPEndPoint、本地IP地址及端口号或者仅 使用 端口号,来创建 TcpListener TcpListener 类的属性 TcpL. //-----------这是服务端 TcpListener ------------------ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net. Sockets ; using S... //---------- 服务端 TcpListener -------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.Net.Sock... c# Socket编程, 使用 TcpListener ,服务器循环 接收 字符串后输出创建 TcpListener 服务类用Client2类来 接收 客户消息创建TcpClient客户端 创建 TcpListener 服务类 public static class MyTcp Server public static readonly List<Client2> Client... C# 的TCP Socket (异步方式) C# 的tcp Socket设置自定义超时时间 C# TCP socket 发送 大数据包时, 接收 端和 发送 端数据不一致 服务端 接收 Receive不完全 服务器端: TcpListener listener = new TcpListener (IP, 1234);