Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не отправляются данные через сокет, только при открытии соединения 
:(
    Опции темы
ddRoot2
Дата 28.12.2008, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 12.5.2007

Репутация: нет
Всего: нет



Всем привет. У меня проблема с соединением с сервером через сокеты.
Код формочки:
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Net.Sockets;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        Socket s;
        public Form1()
        {
            InitializeComponent();
        }

        private void openBtn_Click(object sender, EventArgs e)
        {
            string host = "localhost";
            int port = 1872;
            s = new Socket(AddressFamily.InterNetwork, 
                SocketType.Stream, ProtocolType.Tcp);
            IPAddress[] addr = Dns.GetHostEntry(host).AddressList;
            s.Connect(addr[0], port);
        }

        private void closeBtn_Click(object sender, EventArgs e)
        {
            s.Shutdown(SocketShutdown.Both);
            s.Close();
        }

        private void sendBtn_Click(object sender, EventArgs e)
        {
            s.Send(Encoding.ASCII.GetBytes("This is a test"));
        }

    }
}

При нажатии open открывается соединение, сервер видит клиента и серверу почему-то приходит пустая строка. 
При нажатии send ничего не происходит.
При нажатии close все нормально - сокет закрывается, сервер это нормально видит.

Такой вариант формы:
Код

...
            s = new Socket(AddressFamily.InterNetwork, 
                SocketType.Stream, ProtocolType.Tcp);
            IPAddress[] addr = Dns.GetHostEntry(host).AddressList;
            s.Connect(addr[0], port);
            s.Send(Encoding.ASCII.GetBytes("This is a test (connect)"));//это добавил
...

Этот вариант первое сообщение отсылает (которое при соединении), остальные нет.

Как сделать, чтоб передача сообщения при нажатии на кнопку работала? (сервер рабочий, проверял...)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0941 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.