c lpvoid java_java的客户端可以连接CPlus的服务端

今天做的实验,用c++做的服务端,端口号为6000;用java做的客户端,IP为127.0.0.1,port为6000,结果双方可以连接上线;

贴代码:

服务端:

#include

#include

using namespace std;

SOCKET sockConn = NULL;

char content[100] = " ";

int flag = 1;

DWORD WINAPI MYrevc(LPVOID lp)

{

while(1)

{

char recvBuf[100];

if(flag==0)

{

recv(sockConn,recvBuf,100,0);///

}

if(recvBuf[0]!=0)

{

cout<

//cout<

flag = 1;

}

Sleep(1000);

}

return 0;

}

DWORD WINAPI MYsend(LPVOID lp)

{

cin>>content;

send(sockConn,content,strlen(content)+1,0);

flag = 0;

return 0;

}

int main()

{

WORD wVersionRequested;

WSADATA wsaData;

int err;

wVersionRequested = MAKEWORD( 1, 1 );

err = WSAStartup( wVersionRequested, &wsaData );

if ( err != 0 )

{

return 0;

}

if ( LOBYTE( wsaData.wVersion ) != 1 ||

HIBYTE( wsaData.wVersion ) != 1 )

{

WSACleanup( );

return 0;

}

SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);

SOCKADDR_IN addrSrv;

addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);

addrSrv.sin_family=AF_INET;

addrSrv.sin_port=htons(6000);

bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

listen(sockSrv,5);

SOCKADDR_IN addrClient;

int len=sizeof(SOCKADDR);

sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);

cout<

MYsend(NULL);

HANDLE rThread = CreateThread(NULL,0,MYrevc,NULL,0,NULL);//接收消息的线程

CloseHandle(rThread);

while(1)

{

if(flag)

{

HANDLE sThread = CreateThread(NULL,0,MYsend,NULL,0,NULL);

CloseHandle(sThread);

}

Sleep(1000);

}

// closesocket(sockConn);

return 1;

}

客户端:

package sock;

import java.io.IOException;

import java.net.Socket;

import java.net.UnknownHostException;

public class Sock {

public static void main(String[] args) {

try {

Socket sock = new Socket("127.0.0.1",6000);

System.out.println("Connect Successed!");

} catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

运行效果:

服务端:

8104fff275f9da61401aa24cb09c7804.png

客户端:

822f31a8a1f2804d6494331a89fe39bf.png

原文:http://www.cnblogs.com/yuan951/p/4744731.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值