65,186
社区成员




//
// JniUtil.cpp
// DotaGames
//
// Created by Apple on 14-1-21.
//
//
#include "JniUtil.h"
int JniUtil::connect(const char *ip, unsigned short port)
{
struct sockaddr_in sa;
struct hostent *hp;
hp=gethostbyname(ip);
if (!ip) {
return -1;
}
memset(&sa, 0, sizeof(sa));
memcpy((char *)&sa.sin_addr, hp->h_addr,hp->h_length);
sa.sin_family=hp->h_addrtype;
sa.sin_port=htons(port);
socketHandle=socket(sa.sin_family, SOCK_STREAM, 0);
if (socketHandle < 0) {
printf("connet false");
return -1;
}
if(::connect(socketHandle, (sockaddr*)&sa, sizeof(sa)) < 0){
printf( "failed to connect socket\n" );
::close(socketHandle);
return -1;
}
CCLOG("Client connect OK ! IP: %s:%d ",ip,port);
return 0;
}
int JniUtil::Sends()
{
char reply_msg[1024];
bzero(reply_msg, 1024);
scanf("%s",reply_msg);
if (send(socketHandle, reply_msg, 1024, 0) == -1) {
perror("send error");
}
return 0;
}
package com;
import java.io.IOException;
import java.net.InetSocketAddress;
import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
public class MinaServer {
private static final int PORT=22222;
public static void main(String[] args) throws IOException
{
IoAcceptor acceptor = new NioSocketAcceptor();
DefaultIoFilterChainBuilder chain=acceptor.getFilterChain();
chain.addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory()));
acceptor.setHandler(new Handle());
acceptor.setDefaultLocalAddress(new InetSocketAddress(PORT));
acceptor.bind();
}
}
package com;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IoSession;
public class Handle extends IoHandlerAdapter{
@Override
public void sessionOpened(IoSession session) throws Exception {
System.out.println("cline open"+session.getRemoteAddress());
}
@Override
public void messageReceived(IoSession session, Object message)
throws Exception {
String s=message.toString();
System.out.println("cline message is="+s);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd mm::hh::ss");
Date date=new Date();
session.write(sdf.format(date));
}
@Override
public void sessionClosed(IoSession session) throws Exception {
// TODO Auto-generated method stub
// syso
System.out.println("sesson is colse");
}
@Override
public void messageSent(IoSession session, Object message) throws Exception {
System.out.println("send to server="+(String)message);
}
}