如题,感谢各位高人指点一二,若有相关例子,很是感激!

解决方案 »

  1.   

    这个..网上就太多了吧,给你一个传输文件的例子
    http://www.codeproject.com/internet/SocketFileTransfer.asp不过重要的还是两边的传输协议,服务端不是你写的话你还得去了解一下
      

  2.   

    这个只有看你具体情况了...
    发什么命令也只有你才知道啊.TCP Socket连接Server的基本操作: Create, Connect, Send, Receive那个里面都有
      

  3.   

    我做的个基于client&server的网络通信程序,针对你的问题给出发送函数的主代码,希望对你有所帮助.这里是发送图片.void CSendDlg::OnSend() 
    {
    int i1 =192;
    int i2 =168;
    int i3 =1;
    int i4 =6;//6;
    char sIP[15];
         sprintf(sIP, "%d.%d.%d.%d", i1,i2,i3,i4); SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);//创socktet 套接字  Li+

    SOCKADDR_IN sin;  //SOCKADDR_IN 结构用来标识 TCP/IP 协议下的地址
    sin.sin_family = AF_INET; // 必须为AF_INET,表示处于internet域
    sin.sin_addr.s_addr = inet_addr(sIP);  // 把一个点式的IP表示成一个32位的无符号长整数
    sin.sin_port = htons(7000);//端口7000  指定服务端口 // connect 创建一个端对端的连接 ,客户向服务进程发出连接请求
    if(connect(sock, (SOCKADDR*)&sin, sizeof(sin)) != SOCKET_ERROR)
    {
           //char sSendBuf[SENDSIZE];

           MSGREQUEST msgRequest;  // 文件结构
       msgRequest.lFileOffset = 0;
           msgRequest.lFileLength = 0;    CFile file;
           file.Open("221.bmp",CFile::modeRead|CFile::shareDenyNone, NULL);
       msgRequest.lFileLength =file.GetLength();
       int filelength =file.GetLength();           char *sSendBuf;
       sSendBuf =new char[filelength];
       
     // 当客户机的套接字接受到服务器发出的接受信号,则表示客户机于服务器已经连接,可以进行传输
      int iSendCnt = send(sock, (char*)&filelength,filelength,  0);
      
       long lFileOffset = msgRequest.lFileOffset;    int iReadCnt = file.Read(sSendBuf, filelength);
       if(iReadCnt ==0)
       {
          AfxMessageBox("erroe");
       }    iSendCnt = send(sock, sSendBuf, iReadCnt, 0);

    //如果发送失败就终止线程
       if(iSendCnt == -1)
       {
         AfxMessageBox("error");
       }
       else
       {
    AfxMessageBox("over");
       }
    }
    }
      

  4.   

    连线成功(代码如下):
    try 

    TcpClient tcpClient = new TcpClient(sHostName,nPortNo
    nsStream = tcpClient.GetStream();//通过申请,并获取传送数据的网络基础数据流   
    swWriter = new StreamWriter(nsStream);//使用获取的网络基础数据流来初始化StreamWriter实例 
    srRead = new StreamReader(nsStream);//以得到的网络基础数据流来初始化StreamReader实例 
    btnConnect.Enabled = false ; 
    btnSend.Enabled = true ; 
    tcpConnect = true ; 
    sbStatus.Text = "已经连接!" ; 
        iSeqNo = 1;

    catch 

    MessageBox.Show ( "无法和远程主机端口建立连接!" , "错误提示!" ) ; 
    return ; 
    }发送接收代码(发送成功,接收不了):
    swWriter.WriteLine(edtInfo.Text);//刷新当前数据流中的数据 
    swWriter.Flush(); 
                    sbStatus.Text = "发送成功,已经连接!";
    Thread.Sleep(300);

        string sMessage = srRead.ReadLine();//从网络基础数据流中读取一行数据 
    string sTime = DateTime.Now.ToShortTimeString ( ) ; //获取接收数据时的时间 
                    lbReceive.Items.Add ( sTime + " " + sMessage ) ;
                    sbStatus.Text = "接收成功,已经连接!"; (发送成功,接收不了):垦请高手指正代码。