C Socket与Java Socket之间的通信

本文探讨了如何在Linux环境下,使用C和Java实现Socket通信。C语言的Socket编程相对复杂,涉及socket创建、配置、监听和接受请求,而Java则更为简洁。服务器端在C语言中需要通过socket、bind、listen和accept步骤来建立,而在Java中只需ServerSocket类即可。客户端方面,C语言使用connect发起连接,Java则直接通过Socket类创建实例并连接服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:拟在服务器上利用c或c++来编写服务器端程序,在android手机上编写客户端程序,实现通过手机客户端来访问服务器上的资源。由于在c中socket的使用方式跟Java中有一些不同,c中的使用方式比较麻烦,java中相对简单。本文中服务器端的环境是linux。若是windows,C Socket的使用方式会稍有不同。

Socket介绍

Socket(套接字)相当于一种特殊的IO。只不过平常的IO两端是程序(内存)和本地磁盘。而此处的两端是网络中的两个程序。也可以将socket看成是在程序两端建立起的一条管道,两个程序通过这条管道来交换数据。

Java中Socket的使用方式:

服务器端:

1.      ServerSocket server=newServerSocket(6000);//创建服务器端的socket,并绑定端口6000

2.      Socket socket=Server.accept();//接受客户端请求,并返回一个和客户端通信的socket

3.      Socket.getInputStream();//利用socket来返回输入输出流,以后便是java的IO操作

4.      Socket.getOutputStream();

5.      可以将outputStream->outputStreamWriter->bufferedWriter->PrintWriter,最后利用printwriter的println(str)方法就可以向对方传输数据。此种方法相对于直接使用bufferedWriter的好处是,不需要强制刷新缓冲区,前者需调用flush()方法。

客户端:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值