博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java的客户端可以连接CPlus的服务端
阅读量:4571 次
发布时间:2019-06-08

本文共 1972 字,大约阅读时间需要 6 分钟。

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

贴代码:

服务端:

#include <winsock2.h>

#include <iostream>
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<<recvBuf<<endl;
//cout<<"MYrecv"<<endl;
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<<"client has logined!"<<endl;
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();
}
}
}

 

运行效果:

 

服务端:

客户端:

 

 

 

 

转载于:https://www.cnblogs.com/yuan951/p/4744731.html

你可能感兴趣的文章
ESP定律手工脱壳步骤
查看>>
wex5 教程 之 图文讲解 登陆,注册,页面跳转
查看>>
问题7:JavaScript 常用正则示例
查看>>
xampp 虚拟机配置
查看>>
第五次实验
查看>>
从统计学角度来看深度学习(1):递归广义线性模型
查看>>
nginx发布Asp.net程序
查看>>
Spring Bean引用例子
查看>>
您访问的URL地址不被允许。
查看>>
docker 初探之简单安装 ----Windows10
查看>>
UI基础篇之UIScrollView
查看>>
vc 网络编程(socket)
查看>>
tex中把参考文献标题删除
查看>>
Linux下NFS服务器的搭建与配置
查看>>
1501 二叉树最大宽度和高度
查看>>
MySQL索引选择问题(要相信MySQL自己选择索引的能力)
查看>>
Angular i18n
查看>>
SQL Server 2008 教程
查看>>
docker安装
查看>>
JAVA boolean 类型
查看>>