net.server和net.socket的区别

net.server和net.socket的区别,第1张

socket.io是一个WebSocket协议的实现,用它你可以进行websocket通信,这是应用层

node.js net.socket是系统socket接口,用它你可以操作linux socket,这是传输层

websocket协议本质上也是使用系统socket,它是把socket引入了http通信,也就是不使用80端口进行http通信。

它的目的是建立全双工的连接,可以用来解决服务器客户端保持长连接的问题。

socket.io只是websocket协议的一种实现。除此之外,HTML5也对websocket定义了对应的API,由浏览器等客户端程序实现它。这样最上层的web应用程序就能直接使用websocket连接了。

下面的代码示例创建 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 = 13000

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[] bytes = new Byte[256]

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()

}

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/470248.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存