您的位置:首页 > 其它

一个简单的同步socket 连接

2018-02-04 22:57 260 查看
服务器部分:
using System;
using System.Net;
using System.Net.Sockets;

namespace sever
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("start");
//Socket
Socket listenfd = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//绑定IP和端口
IPAddress ipAdr = IPAddress.Parse("192.168.1.105");
IPEndPoint ipEp = new IPEndPoint(ipAdr, 1234);
listenfd.Bind(ipEp);
//监听
listenfd.Listen(0);
Console.WriteLine("启动成功");
while (true)
{
//Accept
Socket connfd = listenfd.Accept();
Console.WriteLine("accept");
//receive
byte[] readBuff = new byte[1024];
int count = connfd.Receive(readBuff);
string str = System.Text.Encoding.UTF8.GetString(readBuff, 0, count);
Console.WriteLine("接收到的消息: " + str);
byte[] bytes = System.Text.Encoding.Default.GetBytes("服务器接收到了: " + str);
connfd.Send(bytes);
}
}
}
}
客户端部分:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Net;
using System.Net.Sockets;
using UnityEngine.UI;

[System.Serializable]
public class Connect : MonoBehaviour {

Socket socket;
//服务端的IP和端口
public InputField host;
public InputField port;
//
Button button;
public Text recv;
public Text client;
//缓冲
const int BUFFER_SIZE = 1024;
byte[] readBuff = new byte[BUFFER_SIZE];

void Start () {
button=transform.Find("Button").GetComponent<Button>();
button.onClick.AddListener(Connection);
}

public void Connection()
{
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(host.text,int.Parse(port.text));
client.text = "客户端地址  " + socket.LocalEndPoint.ToString();
//Send
string str = "hello";
byte[] bytes = System.Text.Encoding.Default.GetBytes("发送: " + str);
socket.Send(bytes);
//Recv
int count = socket.Receive(readBuff);
str = System.Text.Encoding.UTF8.GetString(readBuff, 0, count);
recv.text = str;
//close
socket.Close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: