C# Socket模块
来源:互联网 发布:求几本好看网络黄书 编辑:程序博客网 时间:2024/05/17 00:51
服务端
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Runtime.InteropServices;using System.Net;using System.Net.Sockets;namespace ConsoleApplication2{ class Program { static void Main(string[] args) { //本机IP IPAddress ip = IPAddress.Parse("192.168.0.154"); //IP地址跟端口的组合 IPEndPoint iep = new IPEndPoint(ip, 9000); //创建Socket Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //绑定Socket socket.Bind(iep); //服务器已经做好接收任何连接的准备 socket.Listen(10); //执行accept方法 Socket Client = socket.Accept(); while (true) { byte[] message = new byte[1024]; NetworkStream networkStream = new NetworkStream(Client); int len = networkStream.Read(message, 0, message.Length); if (len > 0) { ////byte数组转换成string //string output = System.Text.Encoding.Unicode.GetString(message); //Console.WriteLine("一共从客户端接收了" + len.ToString() + "字节。接收字符串为:" + output); } } } }}
客户端
using System;using System.Collections.Generic;using System.Text;using System.Net;using System.Net.Sockets;using System.Threading;using UnityEngine;class ClientNet{ private Socket init() { Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); return clientSocket; } public bool Connect(string host,int port) { if (m_socket == null) m_socket = init(); //要连接的远程IP IPAddress remoteHost = IPAddress.Parse(host); //IP地址跟端口的组合 IPEndPoint iep = new IPEndPoint(remoteHost, port); try { m_socket.Connect(iep); return true; } catch (System.Exception ex) { Debug.LogError("connect error"); return false; } } public void SendData(byte[] bytes) { NetworkStream netstream = new NetworkStream(m_socket); netstream.Write(bytes, 0, bytes.Length); } public void CloseSocket() { m_socket.Shutdown(SocketShutdown.Both); m_socket.Close(); } private Socket m_socket; private static ClientNet s_instance; private static readonly byte[] c_staticLocker = new byte[0]; public static ClientNet Instance { get { if (s_instance == null) { lock (c_staticLocker) { s_instance = new ClientNet(); } } return s_instance; } }}
0 0
- C# Socket模块
- C# socket
- C# socket
- c# socket
- c# socket
- C# Socket
- C# Socket
- c# socket
- C# socket
- C# socket
- socket c#
- PYTHON模块之socket
- python socket模块
- Python socket模块编程
- python模块os,socket
- python socket模块
- python socket 模块
- python socket 模块
- 第十九章,指针小练习(C++)
- 关于音响系统参数测试的主要参数之二: Frequency Response(频率响应范围)
- C、C++写二进制数据到mysql的Blob字段/插入images
- Android 图片阴影处理分析
- 那些年,Java程序员用过的开发工具
- C# Socket模块
- IOS AVFoundation QRCode Scan
- T博士开讲 你听过却不懂的CPU专业名词
- mongo基本命令
- Wince 获取电源通知
- Swift版Facebook POP
- GRE考试高分作文的开头与结尾
- iOS不规则按钮实现
- 内核同步(死锁等,基础)