可以的,只能有些烦人的东西:协议是一样的,但在处理方式上却有不一样的地方;在两端的接收过程中你会明白的。

解决方案 »

  1.   

    楼上的可否说的具体点,哪些需要注意的地方?
      

  2.   

    没有什么复杂的,我用Java做服务端,起一个监听。然后客户端用C写一个,连接指定的端口,一发一收,没什么特别的地方。给你一段我编着玩的代码:Java
    ----------------------------------------
    package pkserver;import java.net.*;
    import java.io.*;
    import java.util.*;
    /**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2003</p>
     * <p>Company: </p>
     * @author unascribed
     * @version 1.0
     */public class PKServer {  public PKServer() {
        try {
          ServerSocket ss = new ServerSocket(3000);
          System.out.println("Waiting for conncetion...");
          Socket s = ss.accept();
          System.out.println("Accept connection!");
          InputStream in = s.getInputStream();
          OutputStream out = s.getOutputStream();      byte[] inData = new byte[100];
          in.read(inData);
          System.out.println("Recv: ");
          for(int i=0; i<inData.length; i++) {
            System.out.print(inData[i]);
          }
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      public static void main(String[] args) {
        PKServer pkServer = new PKServer();
      }
    }C(我是用VC做的,比较长节选了一些关键的)
    ------------------------------------------------------------------
    WSADATA wsd;
    SOCKET sConnect;
    LONG lPort = 3000; char hostip[12] = "172.20.54.9";
    //unsigned char hostip[20] = "";
    //memcpy( hostip, strIp, sizeof(strIp)); struct sockaddr_in ServerHostAddr;  //Server Address...
    if (WSAStartup( MAKEWORD(2, 2), &wsd ) != 0)
    AfxMessageBox("Failed INIT \n");
    sConnect = socket( AF_INET, SOCK_STREAM, 0 );
    ServerHostAddr.sin_family = AF_INET;
    ServerHostAddr.sin_port = htons( (u_short)lPort );
    ServerHostAddr.sin_addr.s_addr = inet_addr( hostip );
    if( connect( sConnect, (struct sockaddr*)&ServerHostAddr, sizeof(ServerHostAddr) ) == SOCKET_ERROR)
    AfxMessageBox("Connect Failed\n");这部分建立连接,够烦的把 char data[10] = "54321";
    if( send(sConnect, data, sizeof(data), 0 ) == SOCKET_ERROR )
    AfxMessageBox("Message Sending Error...");
    else
    AfxMessageBox("Send Succ");

    发送数据。
    明白了把