使用vs简单实现socket网络通信
最近一直在学习.Net,刚把winform基础学习完,这次算是一个学习小结,觉得这个socket的蛮有意思的,就认真自己就完成了一遍,能简单的发送消息,传送文件。窗体控件我就不一一说明了,下面直接上代码
sever端代码
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _01Sever
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Socket socketListen;
private void buttonListen_Click(object sender, EventArgs e)
{
socketListen = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress ip = IPAddress.Any;
IPEndPoint point = new IPEndPoint(ip, Convert.ToInt32(textPort.Text));
socketListen.Bind(point);
ShowMessage("监听成功");
socketListen.Listen(10);
Thread thread = new Thread(Watch);
thread.IsBackground = true;
thread.Start(socketListen);
}
void ShowMessage(string str)
{
textLog.AppendText(str + "\r\n");
}
Socket socketSend;
Dictionary<string, Socket> kv = new Dictionary<string, Socket>();
void Watch(object o)
{
Socket socketListen = o as Socket;
while (true)
{
try
{
socketSend = socketListen.Accept();
kv.Add(socketSend.RemoteEndPoint.ToString(), socketSend);
comboBo