DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: lixuan123
今日帖子: 0
在线用户: 4
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
女 hellomazzy (hellomazzy) ★☆☆☆☆ -
普通会员
2004/4/22 12:53:59
标题:
请教,关于网络通信,急!先谢各位前辈了。 浏览:1413
加入我的收藏
楼主: 以下代码是一个关于发送图象的代码,

希望前辈能替我讲解一下下面的代码的含义,或怎样把它转化成delphi中的代码呢?

时间紧,希望前辈们给予指点。

private void tx_file(string strFileName,EndPoint rmEP)
{
  byte[] tmpBuf =  new byte[10];
  FileStream fs = new FileStream(strFileName,FileMode.Open,FileAccess.Read);
  if (fs == null)
  {
    MessageBox.Show("打开图形文件失败!");
    tmpBuf.Initialize();
    //发送文件长度为0,使终端返回
    m_counter_socket.SendTo(tmpBuf,4,SocketFlags.None,rmEP);
  }
  else
  {
    int iFileLength;
    iFileLength = (int)fs.Length;
    byte [] tmpInfo = Encoding.Default.GetBytes(iFileLength.ToString());
    byte [] bSendData = new byte[10];
    byte [] tmpACK = new byte[2];
    tmpInfo.CopyTo(bSendData,0);
    //发送文件长度
    m_counter_socket.SendTo(bSendData,10,SocketFlags.None,rmEP);
    byte [] bmpData =  new byte[512];
    while(iFileLength>0)
    {
      if(iFileLength>=512)
      {
        fs.Read(bmpData,0,512);
        m_counter_socket.SendTo(bmpData,512,SocketFlags.None,rmEP);
        while(tmpACK[0] != 0x06)
        {
          if (m_counter_socket.Available>0)
          {
            m_counter_socket.ReceiveFrom(tmpACK,1,SocketFlags.None,ref rmEP);
          }
        }
        tmpACK[0]=0x00;
        iFileLength -= 512;
      }
      else
      {
        fs.Read(bmpData,0,iFileLength);
        m_counter_socket.SendTo(bmpData,iFileLength,SocketFlags.None,rmEP);
        iFileLength -= iFileLength;
      }
    }
    //关闭文件
    fs.Close();
  }
}
----------------------------------------------
我是一个新人,希望能得到ggjj的帮助。

为生活所迫,需要学习delphi,但是这段经历会成为我成长的记忆;

大家的帮助则是我这段时间里最温暖的记忆


click here to my blog
作者:
女 hellomazzy (hellomazzy) ★☆☆☆☆ -
普通会员
2004/4/22 15:48:57
1楼: 其实dream 兄已经给了我一个方向,可是关于细节部分还是写不来,就象写作文不会单词语法一样,哎。。。
----------------------------------------------
我是一个新人,希望能得到ggjj的帮助。

为生活所迫,需要学习delphi,但是这段经历会成为我成长的记忆;

大家的帮助则是我这段时间里最温暖的记忆


click here to my blog
作者:
男 edust (edsut) ★☆☆☆☆ -
盒子活跃会员
2004/4/22 16:08:27
2楼: 这是用WinSock的.
本站有个 ICBChat V1.01 在线聊天室
有相对应的Delphi代码
----------------------------------------------
http://www.emu32.com
作者:
女 hellomazzy (hellomazzy) ★☆☆☆☆ -
普通会员
2004/4/22 17:16:07
3楼: 1。问一下,按照dream兄说的,可以使用udpsocket的sendto方法,我看了帮助,似乎sendbuff也可以,那希望有前辈指引应该选择哪一种方法呢?

2。在c#中,private void tx_file(string strFileName,EndPoint rmEP),EndPoint在这里指的在delphi中对应的是什么呢?

3。在delphi中,涉及16进制的数,是怎样写的操作,例如tmpACK[0]=0x00在delphi中应该怎么写呢?

希望前辈指教。。。

----------------------------------------------
我是一个新人,希望能得到ggjj的帮助。

为生活所迫,需要学习delphi,但是这段经历会成为我成长的记忆;

大家的帮助则是我这段时间里最温暖的记忆


click here to my blog
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行59.81445毫秒 RSS