安卓程序和pc上的java程序使用java socket聊天程序通信为什么不能传递自定义对象,本机和本机就可以

&>&Android应用源码安卓与PC的Socket通信项目java版
Android应用源码安卓与PC的Socket通信项目java版
上传大小:1.6MB
Android应用源码安卓与PC的Socket通信项目java版
综合评分:0(0位用户评分)
所需积分:
下载个数:12
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有0条
审核通过送C币
Android开发学习电子书
android system bluetooth module
微信公众号和支付方面
创建者:jiangsucsdn
上传者其他资源上传者专辑
移动开发热门标签
VIP会员动态
前端开发重难点
17年软考最新真题及解析
物联网全栈开发专题
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&VIP年卡&4000万程序员的必选
Android应用源码安卓与PC的Socket通信项目java版
会员到期时间:
剩余下载个数:
剩余C币:0
剩余积分:
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
当前拥有C币
(仅够下载10个资源)
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
全站1200个资源免积分下载
资源所需积分
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
全站1200个资源免积分下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
Android应用源码安卓与PC的Socket通信项目java版匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。查看:8165|回复:11
中级工程师
都是同一个wifi的,为什么电脑局域网之间能通信,手机就不能的,和电脑通信都不行??
代码哪里出问题了??真纠结:
关键性代码:
TcpSocketServer :
复制内容到剪贴板代码:package hua.
import java.io.ByteArrayInputS
import java.io.InputS
import java.io.OutputS
import java.net.ServerS
import java.net.S
public class TcpSocketServer {
& & & & public TcpSocketServer(){
& & & & & & & &
& & & & public void startWifi(int port,String buffer)throws Exception{
& & & & & & & & //新建ServerSocket对象,端口为传进来的
& & & & & & & & ServerSocket ss = new ServerSocket(port);
& & & & & & & & //新建Socket通信对象,接受客户端发来的请求accept();
& & & & & & & & Socket s = ss.accept();
& & & & & & & & //创建输入流对象InputStream
& & & & & & & & InputStream bais = new ByteArrayInputStream(buffer.getBytes());
& & & & & & & & //创建输出流对象OutputStream
& & & & & & & & OutputStream out = s.getOutputStream();
& & & & & & & & byte[] buff = new byte[1024];& & & & & & & &
& & & & & & & & while(bais.read(buff) & 0){
& & & & & & & & & & & & out.write(buff);
& & & & & & & & }
& & & & & & & & s.close();& & & & & & & & & & & & & & & &
MainActivity:
复制内容到剪贴板代码:package hua.
import android.os.B
import android.app.A
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import android.widget.EditT
import android.widget.T
public class MainActivity extends Activity {
& & & & protected void onCreate(Bundle savedInstanceState) {
& & & & & & & & super.onCreate(savedInstanceState);
& & & & & & & & setContentView(R.layout.activity_main);
& & & & & & & & Button buttonStartWifi = (Button) this.findViewById(R.id.startWifi);
& & & & & & & & buttonStartWifi.setOnClickListener(new OnClickListener() {
& & & & & & & & public void onClick(View arg0) {
& & & & & & & & & & & & //获取字符串缓冲区buffer
& & & & & & & & & & & & EditText bufferEditText = (EditText)MainActivity.this.findViewById(R.id.buffer);
& & & & & & & & & & & & String buffer = bufferEditText.getText().toString();
& & & & & & & & & & & & //获取端口port
& & & & & & & & & & & & EditText portEditText = (EditText)MainActivity.this.findViewById(R.id.port);
& & & & & & & & & & & & String port = portEditText.getText().toString();
& & & & & & & & & & & & //建立服务端
& & & & & & & & & & & & TcpSocketServer tss = new TcpSocketServer();
& & & & & & & & & & & & try {
& & & & & & & & & & & & & & & & //开始发射wifi信号
& & & & & & & & & & & & & & & & tss.startWifi(Integer.parseInt(port),buffer);
& & & & & & & & & & & & } catch (Exception e) {
& & & & & & & & & & & & & & & & e.printStackTrace();
& & & & & & & & & & & & }& & & &
& & & & & & & & & & & & //提示信息
& & & & & & & & & & & & Toast.makeText(MainActivity.this, &started&,Toast.LENGTH_SHORT).show();& & & & & & & & & & & &
& & & & & & & & }
& & & & & & & & });
& & & & class ServerThread extends Thread{
& & & & & & & & public void run(){
& & & & & & & & }
客户端的:
TcpSocketClient :
复制内容到剪贴板代码:package hua.
import java.io.InputS
import java.net.S
public class TcpSocketClient {& & & & public TcpSocketClient(){
& & & & & & & &
& & & & public String receiveWifi(String ip,int port)throws Exception{
& & & & & & & & //新建Socket通信对象
& & & & & & & & Socket s = new Socket(ip,port);
& & & & & & & & //创建输入流对象InputStream
& & & & & & & & InputStream is = s.getInputStream();
& & & & & & & & byte[] buff = new byte[1024];
& & & & & & & & StringBuffer buffer = new StringBuffer();
& & & & & & & & while(is.read(buff) & 0){
& & & & & & & & & & & & buffer.append(buff);
& & & & & & & & }
& & & & & & & & s.close();
& & & & & & & & return buffer.toString();
MainActivity :
复制内容到剪贴板代码:package hua.import android.os.B
import android.app.A
import android.view.V
import android.view.View.OnClickL
import android.widget.B
import android.widget.EditT
import android.widget.T
public class MainActivity extends Activity {
& & & & protected void onCreate(Bundle savedInstanceState){
& & & & & & & & super.onCreate(savedInstanceState);
& & & & & & & & setContentView(R.layout.activity_main);
& & & & & & & & Button b = (Button)this.findViewById(R.id.button);
& & & & & & & & b.setOnClickListener(new OnClickListener() {& & & & & & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & public void onClick(View v) {
& & & & & & & & & & & & & & & & //获取ip输入地址
& & & & & & & & & & & & & & & & EditText ipEditText& &= (EditText)MainActivity.this.findViewById(R.id.ip);
& & & & & & & & & & & & & & & & //获取port端口
& & & & & & & & & & & & & & & & EditText portEditText = (EditText)MainActivity.this.findViewById(R.id.port);
& & & & & & & & & & & & & & & & //建立TcpSocketClient对象
& & & & & & & & & & & & & & & & TcpSocketClient tsc = new TcpSocketClient();
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & String ip = ipEditText.getText().toString();
& & & & & & & & & & & & & & & & String port = portEditText.getText().toString();
& & & & & & & & & & & & & & & & String buffer = new String();
& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & try {
& & & & & & & & & & & & & & & & & & & & //接收wifi
& & & & & & & & & & & & & & & & & & & & buffer = tsc.receiveWifi(ip, Integer.parseInt(port));
& & & & & & & & & & & & & & & & } catch (Exception e) {
& & & & & & & & & & & & & & & & & & & & e.printStackTrace();
& & & & & & & & & & & & & & & & }& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & & & & & //设置接收来的内容
& & & & & & & & & & & & & & & & EditText editText02 = (EditText)MainActivity.this.findViewById(R.id.EditText02);
& & & & & & & & & & & & & & & & editText02.setText(buffer);
& & & & & & & & & & & & & & & & Toast.makeText(MainActivity.this, &receive&,Toast.LENGTH_SHORT).show();& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & });
中级工程师
我电脑和其它电脑的局域网通信可行的代码和上面的差不多,
但是电脑之间的就行,手机和电脑的就不行,好神奇啊。。。
我晕了。。。求指教哪里错了。。。
经测试可行的
服务端代码:
复制内容到剪贴板代码:import java.net.*;
import java.io.*;
class TcpDemo
& & & & public static void main(String[] args)throws Exception
& & & & & & & & ServerSocket ss = new ServerSocket(115);
& & & & & & & & Socket s = ss.accept();
& & & & & & & & InputStream bais = new ByteArrayInputStream(&ha ha ha ha &.getBytes());
& & & & & & & & OutputStream out = s.getOutputStream();
& & & & & & & & byte[] buff = new byte[1024];
& & & & & & & & int len = 0;
& & & & & & & & while((len = bais.read(buff)) & 0){
& & & & & & & & & & & & out.write(buff);
& & & & & & & & }
& & & & & & & & s.close();& & & & & & & &
& & & & & & & & System.out.println(&TcpDemo:finish&);
客户端的:
复制内容到剪贴板代码:import java.net.*;
import java.io.*;
class TcpClientDemo
& & & & public static void main(String[] args)throws Exception
& & & & & & & & Socket s = new Socket(&169.254.205.180&,220);
& & & & & & & & InputStream is = s.getInputStream();
& & & & & & & & byte[] buff = new byte[1024];
& & & & & & & & while(is.read(buff) & 0){
& & & & & & & & & & & & System.out.println(new String(buff,0,buff.length));
& & & & & & & & }
& & & & & & & & s.close();
资深技术经理
引用:原帖由 kaluosi0 于
16:21 发表
我电脑和其它电脑的局域网通信可行的代码和上面的差不多,
但是电脑之间的就行,手机和电脑的就不行,好神奇啊。。。
我晕了。。。求指教哪里错了。。。
经测试可行的
服务端代码:
import java.net.*;
import java.io.*;
c ... 楼主说用电脑通信,是不是说在电脑上运行模拟器,然后通信?
另外,不知道手机上运行是否有什么异常呢? :D1
中级工程师
引用:原帖由 rongwei84n 于
18:10 发表
楼主说用电脑通信,是不是说在电脑上运行模拟器,然后通信?
另外,不知道手机上运行是否有什么异常呢? :D1 不是,是程序写好了,然后下载到手机上通信。。。
资深技术经理
引用:原帖由 kaluosi0 于
20:02 发表
不是,是程序写好了,然后下载到手机上通信。。。 上次用socket连接没有问题,wifi连接要不参考下这个帖子吧。。
里面就是讲wifi操作的。。 :)1
中级工程师
引用:原帖由 kaluosi0 于
20:02 发表
不是,是程序写好了,然后下载到手机上通信。。。 不晓得,楼主在功能清单中申明权限没有?
中级工程师
引用:原帖由 四海轩 于
10:24 发表
不晓得,楼主在功能清单中申明权限没有? 是的,没错,我还没有申请权限。。。
真背。。。
现在终于搞掂了。。。
谢谢你的回答。。。
中级工程师
引用:原帖由 kaluosi0 于
11:59 发表
是的,没错,我还没有申请权限。。。
真背。。。
现在终于搞掂了。。。
谢谢你的回答。。。 解决就好!这是通病。。。。
中级工程师
引用:原帖由 四海轩 于
13:12 发表
解决就好!这是通病。。。。 现在又出现问题了,我用android做服务端,电脑做客户端。。。
电脑收不到服务端发来的数据,电脑的那个客户端经测试是可以的。。。复制内容到剪贴板代码:
package hua.
import android.os.B
import android.app.A
import android.view.V
import android.view.View.OnClickL
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
&&super.onCreate(savedInstanceState);
&&setContentView(R.layout.activity_main);
&&Button buttonStartWifi = (Button) this.findViewById(R.id.startWifi);
&&buttonStartWifi.setOnClickListener(new OnClickListener() {
&&public void onClick(View arg0) {
& &new ServerThread().start();
class ServerThread extends Thread{
&&public void run(){
& &//建立服务端
& &TcpSocketServer tss = new TcpSocketServer();
& & tss.startWifi(221,&dsaaaa&);
& &} catch (Exception e) {
& & // TODO Auto-generated catch block
& & e.printStackTrace();
}权限我只是加了个android.permission.INTERNET的。。
这应该不是权限的问题了吧??
求回复,谢谢。。。
资深技术经理
引用:原帖由 kaluosi0 于
17:22 发表
现在又出现问题了,我用android做服务端,电脑做客户端。。。
电脑收不到服务端发来的数据,电脑的那个客户端经测试是可以的。。。
package hua.
import android.os.B
import android.app.A
im ... 手机做服务端,一般很少这么用,因为它的ip地址不是固定的。。
中级工程师
引用:原帖由 kaluosi0 于
17:22 发表
现在又出现问题了,我用android做服务端,电脑做客户端。。。
电脑收不到服务端发来的数据,电脑的那个客户端经测试是可以的。。。
package hua.
import android.os.B
import android.app.A
im ... 先在手机上发起一个本地socket连接可行不?看可以通信交互不? 看不是端口不存在或者占用,你看下建立socket server catch块中有没有打印异常!
本帖最后由 四海轩 于
21:26 编辑
中级工程师
引用:原帖由 rongwei84n 于
20:29 发表
手机做服务端,一般很少这么用,因为它的ip地址不是固定的。。 我见过,是获取本地ip就可以啦!为什么Java socket 连接慢,我写了一个socket通信程序和别的系统,进行同城通信,sokcet创建一个连接超过10_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
为什么Java socket 连接慢,我写了一个socket通信程序和别的系统,进行同城通信,sokcet创建一个连接超过10
我有更好的答案
首先你的网速会影响,对面的当然也会,一般的家用宽带受限太多,而且传输不稳定还有socket的TCP协议只是一个基础协议,要想在传输的时候一般其他程序客户端都会进行再优化以达到更好的效率还有就是你的程序是不是写太繁杂了,最好也在优化下
采纳率:29%
以判断 可以不判断,这时候 服务端 就需要解析 前8个字节,关键看你要实现什么功能。
比如你写了10个字节,前8个字节是 判断类型的。flush就是把当写的 刷出去了。相当于发送了
为您推荐:
其他类似问题
socket的相关知识
等待您来回答

我要回帖

更多关于 c 与java socket通信 的文章

 

随机推荐