免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2010 | 回复: 0
打印 上一主题 下一主题

急,求教,JAVA和linux下c网络通讯问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-26 17:34 |只看该作者 |倒序浏览
我在windows下用java谢了服务器端,在linux下写了客户端,用socket通信,socket连接成功,问什么传不了数据?
java服务器端
package com.test1;
import java.net.*;
import java.io.*;
public class MyServer2 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                MyServer2 ms2=new MyServer2();

        }
     public MyServer2()
     {
             try {
             //在5678端口监听
            System.out.println("服务器在5678监听。。。";
            ServerSocket ss=new ServerSocket(567;
            //等待连接
            Socket s=ss.accept();
           
            //先接受客户端发来的数据
            BufferedReader DIS = new BufferedReader(new InputStreamReader(s.getInputStream()));
            PrintStream PS = new PrintStream(s.getOutputStream());


            //接受从控制台输入的信息
            InputStreamReader isr2=new InputStreamReader(System.in);
           
            BufferedReader br2=new BufferedReader(isr2);
           
            while(true)
            {
                    String infoFromClient=DIS.readLine()
                                    ;
                   
                    System.out.println("客户端发来:"+infoFromClient);
                    //接手从控制台输入的信息
                    System.out.println("输入你希望对客户端说的话:";
                    String response=br2.readLine()
                                    ;
                   
                    //把从控制台接受的信息会送给客户端
                    PS.println(response);
                   
                   
                   
            }
           
             }catch (Exception e) {
                     e.printStackTrace();
             }
           
     }
}
linux下c是客户端
#include  <stdio.h>

#include  <netinet/in.h>

#include  <arpa/inet.h>

#include  <unistd.h>

#include  <fcntl.h>

#include  <sys/stat.h>

#include  <sys/types.h>

#include  <sys/socket.h>



#define PORT 5678

#define REMOTE_IP "192.168.0.2"



int main(int argc,char *argv[])

{

int s ;

struct sockaddr_in addr ;

char mybuffer[1024];



if( (s=socket(AF_INET,SOCK_STREAM,0))<0 )

{

perror("socket";

exit(1);

}

else

{

printf("socket created .\n";

printf("socked id: %d \n",s);

}

bzero(&addr,sizeof(addr));

addr.sin_family =AF_INET;

addr.sin_port=htons(PORT);

addr.sin_addr.s_addr=inet_addr(REMOTE_IP);



if(connect(s,&addr,sizeof(addr))<0)

{

perror("connect";

exit(1);

}

else

{

printf("connected ok!\n";

printf("remote ip:%s\n",REMOTE_IP);

printf("remote port:%d\n",PORT);

}

recv(s ,mybuffer,sizeof(mybuffer),0);

printf("%s\n",mybuffer);

while(1)

{

bzero(mybuffer,sizeof(mybuffer));

read(STDIN_FILENO,mybuffer,sizeof(mybuffer));



if(send(s,mybuffer,sizeof(mybuffer),0)<0)

{

perror("send";

exit(1);

}

else

{

bzero(mybuffer,sizeof(mybuffer));

recv(s ,mybuffer,sizeof(mybuffer),0);

printf("received:%s\n",mybuffer);

}

}

}
显示连接成功,但是在客户端输入字符串传递不到服务器端,但是关闭客户端时服务器显示
;服务器在5678监听。。。
客户端发来:null
输入你希望对客户端说的话:
为什么呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP