C#TCP
服務器端using System;
using System.Collections;
using System.Net.Sockets; //命名空間
using System.Net;
using System.Text;namespace SocketServer
{//思路:1.創(chuàng)建一個Socket// 2.綁定一個ip和端口// 3.開始監(jiān)聽客戶端的連接請求// 4.發(fā)送、接收消息class Program{static void Main(string[] args){//1. 尋址方案 套接字類型 協(xié)議類型
Socket tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//2.
IPAddress ipaddress = IPAddress.Parse("127.0.0.1");EndPoint endpoint = new IPEndPoint(ipaddress, 5000); //向操作系統(tǒng)申請一份可用的ip和端口號
tcpServer.Bind(endpoint);//3.
tcpServer.Listen(100); //能同時接收100個客戶端的請求Console.WriteLine("服務器啟動完成");Socket clientSocket = tcpServer.Accept(); //暫停當前線程,直到一個客戶端連接過來,返回Socket對象 Console.WriteLine("接收到客戶端的連接請求");//4.string message = "Hello Client";var data = Encoding.UTF8.GetBytes(message); //將字符串轉成字節(jié)數(shù)組
clientSocket.Send(data);Console.WriteLine("我向客戶端發(fā)送了一條消息:"+message);byte[] data2 = new byte[1024]; //存放數(shù)組的容器int length = clientSocket.Receive(data2);string message2 = Encoding.UTF8.GetString(data2, 0, length);Console.WriteLine("我接收到客戶端發(fā)來的消息:"+ message2);}客戶端using UnityEngine;
using System.Collections;
using System.Net.Sockets; //命名空間
using System.Net;
using System.Text;namespace SocketClient
{//思路:1.創(chuàng)建一個Socket// 2.建立連接請求// 3.接收消息// 4.發(fā)送消息class Program{static void Main(string[] args){private Socket tcpClient;private string serverIP = "127.0.0.1";private int serverPort = 5000;}void Start(){//1.
tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//2.
IPAddress ipaddress = IPAddress.Parse(serverIP);EndPoint endpoint = new IPEndPoint(ipaddress, serverPort);tcpClient.Connect(endPoint);Debug.Log("請求服務器連接");//3.byte[] data = new byte[1024];int length = tcpClient.Receive(data);var message = Encoding.UTF8.GetString(data,0,length);Debug.Log("我接收到服務器發(fā)來的消息:"+ message);//4.string message2 = "這是我向服務器發(fā)送的消息";tcpClient.Send(Encoding.UTF8.GetBytes(message3));Debug.Log("我向服務器發(fā)送消息:"+message2);}【附錄】1. 相關類IPAddress類:包含了一個IP地址IPEndPoint類:包含了一對IP地址和端口號2. 相關方法Socket():創(chuàng)建一個SocketBind():綁定一個本地的IP和端口號(IPEndPoint)Listen():讓 Socket偵聽傳入的連接嘗試,并指定偵聽隊列容量Connect():初始化與另一個Socket的連接Accept():接收連接并返回一個新的socketSend():輸出數(shù)據(jù)到SocketReceive():從Socket中讀取數(shù)據(jù)Close():關閉Socket
?
轉載于:https://www.cnblogs.com/haoweiwei/p/9474594.html
總結
- 上一篇: 网络编程: 基于UDP协议的socket
- 下一篇: c#金额转换成中文大写金额