using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;namespace Socket服务器
{class Program{static void Main(string[] args){//1.创建一个socket 对象Socket tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//寻址方案,套接字类型//2. 绑定一个ip 和端口 //IPAddress ipaddress = new IPAddress(new byte[] { 127,0,0,1 });IPAddress ipaddress = IPAddress.Parse("192.168.1.102");EndPoint endpoint = new IPEndPoint(ipaddress, 5000);Console.WriteLine("IP:" + endpoint);tcpServer.Bind(endpoint); //向操作系统申请一个可用的IP 和端口来通讯// 3. 开始监听客户端的连接请求tcpServer.Listen(100); //最多接收100个客户端链接请求Console.WriteLine("服务器启动完成");Socket clientSocket = tcpServer.Accept(); //暂停当前线程,直到一个客户端链接过来Console.WriteLine("接收到客户端的链接请求");// 4. 发送/接受消息string message = "Hello Client";var data = Encoding.UTF8.GetBytes(message); //将字符串转化成字节数组clientSocket.Send(data);Console.WriteLine("服务器向客户端发送一条消息:" + message);byte[] data2 = new byte[1024]; //存放消息的字节数组容器int length = clientSocket.Receive(data2);string message2 = Encoding.UTF8.GetString(data2, 0, length);Console.WriteLine("服务器接收到客户端发送过来的消息:" + message2);Console.Read();}}
}

Unity 客户端


using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.Text;
using UnityEngine;public class SocketClient : MonoBehaviour
{private Socket tcpClient;private string serverIP = "192.168.1.102";private int serverPort = 5000;// Use this for initializationvoid Start(){tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//建立链接请求IPAddress ipaddress = IPAddress.Parse(serverIP);EndPoint endpoint = new IPEndPoint(ipaddress, serverPort);tcpClient.Connect(endpoint);Debug.Log("请求服务器连接");// 接收/发送消息byte[] data = new byte[1024];int length = tcpClient.Receive(data);var message = Encoding.UTF8.GetString(data, 0, length);Debug.Log("客户端接收到消息:" + message);// 发送消息string message2 = "Client Say To Server Hello";tcpClient.Send(Encoding.UTF8.GetBytes(message2));Debug.Log("客户端向服务器发送消息:" + message2);}
}

Socket 服务器和客户端交互相关推荐

  1. 模拟服务器和客户端交互的python脚本

    脚本: 模拟服务器和客户端交互: import argparse, socket from datetime import datetimeIP = "127.0.0.1" COD ...

  2. Redis源码剖析(一)服务器与客户端交互流程

    Redis中的C/S模型 Redis底层还是基于网络请求的,对于单机数据库而言,网络请求仅仅是在一台机器上交互,即服务器客户端都在一台计算机上 当在终端输入redis-serve时,便启动了一个Red ...

  3. 一个 Java 的 Socket 服务器和客户端通信的例子

    http://blog.csdn.net/defonds/article/details/7971259 多个客户端对应一个服务端的通信的一个小例子.  服务端和客户端代码: public class ...

  4. 网络编程:使用tcp协议实现服务器与客户端交互

    服务器 ************************************************************************************************ ...

  5. 服务器与客户端交互(简述)

    ---恢复内容开始--- 今天帮一个朋友改一个bug 他可以算是初学者吧 .我给他看了看代码,从代码和跟他聊天能明显的发现他对客户端与服务器交互 基本 不是很了解.所以我花了更多时间去给他讲客户端与服 ...

  6. linux与python客户端,Python编写的socket服务器和客户端

    服务器端: #!/usr/bin/python import socket host='127.0.0.1' port=8123 s=socket.socket(socket.AF_INET,sock ...

  7. python tornado websocket_Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法...

    1.背景 最近有个项目,需要搭建一个socket服务器,一个web服务器,然后实现两个服务器之间的通讯交互.刚开始的方案是用Python中socket模块实现一个多线程的socket服务器,然后用Fl ...

  8. android socket io和服务器_Java socket通讯服务器和客户端教学版

    什么是socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API), ...

  9. 腾讯云搭建多终端《你画我猜》Socket服务器

    项目概述 Java课大作业,做一个小游戏,三人Git协作,不同终端,一个分支三个文件夹互不影响.Demo地址 ,Github地址.先来目睹一下吧! 原理图 当玩家1在使用画笔在画板上进行绘图工作时,把 ...

  10. 基于TCP/UDP的socket服务器搭建流程

    目录 TCP/UDP概念介绍 一.TCP/UDP对比 二.端口号的作用 三.字节序 1.概念 2.分类 3.C程序在内存空间的映射 socket服务器与客户端开发流程 一.流程介绍 二.socket服 ...

最新文章

  1. torch.nn.LogSoftmax()与输入具有相同尺寸和形状的张量,其值在[-inf,0)范围内
  2. 微服务架构的优势与不足(三)
  3. cpu线程_进程/线程上下文切换会用掉你多少CPU?
  4. C++归并排序(附完整源码)
  5. WPF:使用Json.NET在TreeView中树形显示JSON数据
  6. MVC RC2中关于HtmlHelper给DropDownList设置初始选中值的问题
  7. xrd精修教程_XRD精修系列干货 | 带你领略晶体之美
  8. 区块链101:区块链的应用和用例是什么?
  9. spring cloud sleuth在spring中创建span
  10. php 基类 是什么,PHP Model基类
  11. html中的空格表示
  12. C语言:编写一个程序,从键盘读入一个矩形的两个边的值(整数),求矩形面积
  13. Hadoop环境搭建(全网最详细,保姆级教程)
  14. [汇编]汇编学习笔记(6):MASM32编译器编译链接16位汇编
  15. 电脑上看不到共享服务器的文件夹,WIN7共享文件夹后为何其它电脑看不到 - 卡饭网...
  16. 异步操作及定时任务框架quzrtz在donet平台的使用
  17. linux 指令tftp传输文件_tftp命令怎么传输文件,tftp命令怎么传输文件具体操作方法?...
  18. 为何Emacs和Vim被称为两大神器
  19. iOS 视频转gif
  20. OpenCV开发笔记(四十五):红胖子8分钟带你深入了解重映射(图文并茂+浅显易懂+程序源码)

热门文章

  1. 爬虫 --- 08. 全站爬取(CrawlSpider), 分布式, 增量式爬虫
  2. python电影爬取并下载_python爬取电影并下载
  3. android平板生产力工具,重塑应用生态,让安卓平板成为生产力工具:华为MatePad Pro体验...
  4. EasyAR+ZXing实现UnityAR二维码扫描
  5. easyar android 开发,【EasyAR学习】安装Android SDK
  6. Java毕业设计(项目课程)大全
  7. Post 页面数据,使用boundary来格式化
  8. 海思3516A 运行mp4box工具,移植gpac 0.4.0
  9. 34岁程序员年薪50w,java工程师转正答辩
  10. 微信公众平台开发教程(十) 订阅号与服务号的区别