|
沒有什么復雜的,我用Java做服務端,起一個監(jiān)聽。然后客戶端用C寫一個,連接指定的端口,一發(fā)一收,沒什么特別的地方。給你一段我編著玩的代碼: Java ---------------------------------------- package pkserver; 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做的,比較長節(jié)選了一些關(guān)鍵的) ------------------------------------------------------------------ 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"); 發(fā)送數(shù)據(jù)。 明白了把 |
|
|