• 大小: 1.77MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-31
  • 语言: Java
  • 标签: C#  Android  Socket  

资源简介

C#做服务器,Android做客户端,实现Socket通信

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace MySocketServer
{
    public partial class FormServer : Form
    {
        public FormServer()
        {
            InitializeComponent();
        }
        //保存与客户相关的信息列表
        ArrayList friends = new ArrayList();
        //负责监听的套接字
        TcpListener listener;
        //只是是否启动了监听
        bool IsStart = false;
        //对控件进行调用委托类型和委托方法
        //在列表中写字符串
        delegate void AppendDelegate(string str);
        AppendDelegate AppendString;
        //在建立列表时,向下拉列表中添加客户信息
        delegate void AddDelegate(MyFriend frd);
        AddDelegate Addfriend;
        //在断开连接时,从下拉列表中删除客户信息
        delegate void RemoveDelegate(MyFriend frd);
        RemoveDelegate Removefriend;
        //在列表中写字符串的委托方法
        private void AppendMethod(string str)
        {
            listBoxStatu.Items.Add(str);
            listBoxStatu.SelectedIndex = listBoxStatu.Items.Count - 1;
            listBoxStatu.ClearSelected();
        }
        //向下拉列表中添加信息的委托方法
        private void AddMethod(MyFriend frd)
        {
            lock (friends)
            {
                friends.Add(frd);
            }
            comboBoxClient.Items.Add(frd.socket.RemoteEndPoint.ToString());
        }
        //从下拉列表中删除信息的委托方法
        private void RemoveMethod(MyFriend frd)
        {
            int i = friends.IndexOf(frd);
            comboBoxClient.Items.RemoveAt(i);
            lock (friends)
            {
                friends.Remove(frd);
            }
            frd.Dispose();
        }

        private void FormServer_Load(object sender EventArgs e)
        {
            //实例化委托对象,与委托方法关联
            AppendString = new AppendDelegate(AppendMethod);
            Addfriend = new AddDelegate(AddMethod);
            Removefriend = new RemoveDelegate(RemoveMethod);
            //获取本机IPv4地址
            List listIP = getIP();
            if (listIP.Count == 0)
            {
                this.comboBoxIP.Items.Clear();
                this.comboBoxIP.Text = “未能获取IP!“;
            }
            else if (listIP.Count == 1)
            {
                this.comboBoxIP.Items.Add(listIP[0]);
                this.comboBoxIP.SelectedIndex = 0;
            }
            else
            {
                foreach (string str in listIP)
                {
                    this.comboBoxIP.Items.Add(str);
                }
                this.comboBoxIP.Text = “请选择IP!“;
            }
            //设置默认端口号
            textBoxServerPort.Text = “4567“;
        }

        private void buttonstart_Click(object sender EventArgs e)
        {
            //服务器已在其中监听,则返回
            if (IsStart)
               

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-02-09 13:44  C#与Android-Socket通信\
     目录           0  2014-02-09 13:42  C#与Android-Socket通信\MySocketServer\
     目录           0  2014-02-09 13:42  C#与Android-Socket通信\MySocketServer\MySocketServer\
     文件         884  2014-02-07 10:58  C#与Android-Socket通信\MySocketServer\MySocketServer.sln
     文件       19968  2014-02-08 21:48  C#与Android-Socket通信\MySocketServer\MySocketServer.suo
     目录           0  2014-02-09 13:42  C#与Android-Socket通信\MySocketServer\MySocketServer\bin\
     目录           0  2014-02-09 13:42  C#与Android-Socket通信\MySocketServer\MySocketServer\bin\Debug\
     文件       15872  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\bin\Debug\MySocketServer.exe
     文件       34304  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\bin\Debug\MySocketServer.pdb
     文件       11600  2014-02-08 16:06  C#与Android-Socket通信\MySocketServer\MySocketServer\bin\Debug\MySocketServer.vshost.exe
     文件         490  2010-03-17 22:39  C#与Android-Socket通信\MySocketServer\MySocketServer\bin\Debug\MySocketServer.vshost.exe.manifest
     目录           0  2014-02-07 10:59  C#与Android-Socket通信\MySocketServer\MySocketServer\bin\Release\
     文件        9503  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\FormServer.cs
     文件        8829  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\FormServer.Designer.cs
     文件        5817  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\FormServer.resx
     文件         959  2014-02-07 11:31  C#与Android-Socket通信\MySocketServer\MySocketServer\MyFriend.cs
     文件        3751  2014-02-07 11:31  C#与Android-Socket通信\MySocketServer\MySocketServer\MySocketServer.csproj
     目录           0  2014-02-09 13:42  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\
     目录           0  2014-02-09 13:42  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\
     目录           0  2014-02-09 13:42  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\
     文件        4501  2014-02-07 13:57  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        6311  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件         274  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\GenerateResource.read.1.tlog
     文件         674  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\GenerateResource.write.1.tlog
     文件         780  2014-02-08 16:06  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\MySocketServer.csproj.FileListAbsolute.txt
     文件       15872  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\MySocketServer.exe
     文件         180  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\MySocketServer.FormServer.resources
     文件       34304  2014-02-07 20:50  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\MySocketServer.pdb
     文件         180  2014-02-07 13:54  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\MySocketServer.Properties.Resources.resources
     文件        8031  2014-02-07 14:42  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\ResolveAssemblyReference.cache
     目录           0  2014-02-07 10:58  C#与Android-Socket通信\MySocketServer\MySocketServer\obj\x86\Debug\TempPE\
............此处省略98个文件信息

评论

共有 条评论